{
  "timestamp": "2026-06-08T09:48:25.135Z",
  "storeHash": "u0mz3ww2uj",
  "templates": [
    {
      "template_file": "pages/home",
      "snapshot": {
        "regions": [
          {
            "name": "home_below_products_by_category",
            "children": [
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "<style>\n.papathemes-ai-widget-z5x8wwcc {\n    --papathemes-ai-widget-z5x8wwcc-white: #ffffff;\n    --papathemes-ai-widget-z5x8wwcc-cream: #f8fafc;\n    --papathemes-ai-widget-z5x8wwcc-bark-100: #f1f5f9;\n    --papathemes-ai-widget-z5x8wwcc-bark-200: #e2e8f0;\n    --papathemes-ai-widget-z5x8wwcc-bark-400: #94a3b8;\n    --papathemes-ai-widget-z5x8wwcc-bark-500: #64748b;\n    --papathemes-ai-widget-z5x8wwcc-bark-700: #334155;\n    --papathemes-ai-widget-z5x8wwcc-bark-800: #1e293b;\n    --papathemes-ai-widget-z5x8wwcc-bark-900: #0f172a;\n    --papathemes-ai-widget-z5x8wwcc-terra: #d97706;\n    --papathemes-ai-widget-z5x8wwcc-terra-light: #f59e0b;\n    --papathemes-ai-widget-z5x8wwcc-terra-dark: #b45309;\n    --papathemes-ai-widget-z5x8wwcc-terra-pale: #fffbeb;\n    --papathemes-ai-widget-z5x8wwcc-accent: #f59e0b;\n    --papathemes-ai-widget-z5x8wwcc-accent-soft: #fef3c7;\n    --papathemes-ai-widget-z5x8wwcc-font-heading: 'Inter', sans-serif;\n    --papathemes-ai-widget-z5x8wwcc-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n}\n\n.papathemes-ai-widget-z5x8wwcc *,\n.papathemes-ai-widget-z5x8wwcc *::before,\n.papathemes-ai-widget-z5x8wwcc *::after {\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n}\n\n.papathemes-ai-widget-z5x8wwcc-section {\n    padding: 32px 20px 0;\n}\n\n.papathemes-ai-widget-z5x8wwcc-card {\n    background: var(--papathemes-ai-widget-z5x8wwcc-white);\n    border: 1px solid var(--papathemes-ai-widget-z5x8wwcc-bark-100);\n    border-radius: 8px;\n    overflow: hidden;\n}\n\n.papathemes-ai-widget-z5x8wwcc-inner {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    min-height: 360px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-visual {\n    position: relative;\n    background:\n        linear-gradient(135deg, var(--papathemes-ai-widget-z5x8wwcc-bark-900) 0%, var(--papathemes-ai-widget-z5x8wwcc-bark-800) 100%);\n    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    overflow: hidden;\n    min-height: 260px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-visual::before {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    background:\n        radial-gradient(ellipse 70% 100% at 90% 50%, rgba(245, 158, 11, 0.14), transparent 70%),\n        radial-gradient(ellipse 40% 60% at 0% 0%, rgba(255, 255, 255, 0.04), transparent 60%);\n    pointer-events: none;\n}\n\n.papathemes-ai-widget-z5x8wwcc-visual::after {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    background-image:\n        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);\n    background-size: 40px 40px;\n    opacity: 0.5;\n    pointer-events: none;\n}\n\n.papathemes-ai-widget-z5x8wwcc-stats {\n    position: relative;\n    z-index: 2;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 20px;\n    padding: 36px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-stat {\n    text-align: center;\n    padding: 18px;\n    background: rgba(255, 255, 255, .06);\n    border-radius: 8px;\n    border: 1px solid rgba(255, 255, 255, .08);\n}\n\n.papathemes-ai-widget-z5x8wwcc-stat-num {\n    font-family: var(--papathemes-ai-widget-z5x8wwcc-font-heading);\n    font-size: 28px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-z5x8wwcc-cream);\n    line-height: 1;\n    margin-bottom: 3px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-stat-num span {\n    color: var(--papathemes-ai-widget-z5x8wwcc-accent);\n}\n\n.papathemes-ai-widget-z5x8wwcc-stat-label {\n    font-family: var(--papathemes-ai-widget-z5x8wwcc-font-body);\n    font-size: 10px;\n    color: var(--papathemes-ai-widget-z5x8wwcc-bark-400);\n    text-transform: uppercase;\n    letter-spacing: .08em;\n    font-weight: 600;\n}\n\n.papathemes-ai-widget-z5x8wwcc-content {\n    padding: 36px;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n}\n\n.papathemes-ai-widget-z5x8wwcc-eyebrow {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    font-family: var(--papathemes-ai-widget-z5x8wwcc-font-body);\n    font-size: 10px;\n    text-transform: uppercase;\n    letter-spacing: .14em;\n    font-weight: 700;\n    color: var(--papathemes-ai-widget-z5x8wwcc-bark-700);\n    margin-bottom: 10px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-eyebrow::before {\n    content: \"\";\n    width: 24px;\n    height: 2px;\n    background: var(--papathemes-ai-widget-z5x8wwcc-accent);\n}\n\n.papathemes-ai-widget-z5x8wwcc-heading {\n    font-family: var(--papathemes-ai-widget-z5x8wwcc-font-heading);\n    font-size: 20px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-z5x8wwcc-bark-900);\n    margin-bottom: 14px;\n    line-height: 1.25;\n}\n\n.papathemes-ai-widget-z5x8wwcc-heading em {\n    font-style: italic;\n    font-weight: 400;\n    color: var(--papathemes-ai-widget-z5x8wwcc-bark-500);\n}\n\n.papathemes-ai-widget-z5x8wwcc-desc {\n    font-family: var(--papathemes-ai-widget-z5x8wwcc-font-body);\n    font-size: 12px;\n    color: var(--papathemes-ai-widget-z5x8wwcc-bark-500);\n    line-height: 1.7;\n    margin-bottom: 24px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-features {\n    display: flex;\n    flex-direction: column;\n    gap: 16px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-feat {\n    display: flex;\n    gap: 12px;\n    align-items: flex-start;\n}\n\n.papathemes-ai-widget-z5x8wwcc-feat-icon {\n    width: 38px;\n    height: 38px;\n    border-radius: 6px;\n    background: var(--papathemes-ai-widget-z5x8wwcc-accent-soft);\n    border: 1px solid var(--papathemes-ai-widget-z5x8wwcc-bark-200);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: var(--papathemes-ai-widget-z5x8wwcc-accent);\n    flex-shrink: 0;\n}\n\n.papathemes-ai-widget-z5x8wwcc-feat-icon svg {\n    width: 17px;\n    height: 17px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-feat-title {\n    font-family: var(--papathemes-ai-widget-z5x8wwcc-font-body);\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-z5x8wwcc-bark-800);\n    margin-bottom: 1px;\n}\n\n.papathemes-ai-widget-z5x8wwcc-feat-desc {\n    font-family: var(--papathemes-ai-widget-z5x8wwcc-font-body);\n    font-size: 11px;\n    color: var(--papathemes-ai-widget-z5x8wwcc-bark-500);\n    line-height: 1.45;\n}\n\n@media (max-width: 1023px) {\n    .papathemes-ai-widget-z5x8wwcc-inner {\n        grid-template-columns: 1fr;\n    }\n}\n\n@media (max-width: 767px) {\n    .papathemes-ai-widget-z5x8wwcc-section {\n        padding: 24px 10px 0;\n    }\n\n    .papathemes-ai-widget-z5x8wwcc-stats {\n        padding: 24px;\n        gap: 12px;\n    }\n\n    .papathemes-ai-widget-z5x8wwcc-content {\n        padding: 24px;\n    }\n}\n</style>\n\n<div class=\"papathemes-ai-widget-z5x8wwcc\">\n    <div class=\"papathemes-ai-widget-z5x8wwcc-section\">\n        <div class=\"papathemes-ai-widget-z5x8wwcc-card\">\n            <div class=\"papathemes-ai-widget-z5x8wwcc-inner\">\n                <div class=\"papathemes-ai-widget-z5x8wwcc-visual\">\n                    <div class=\"papathemes-ai-widget-z5x8wwcc-stats\">\n                        <div class=\"papathemes-ai-widget-z5x8wwcc-stat\">\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-num\">15<span>+</span></div>\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-label\">YEARS IN AUTO PARTS</div>\n                        </div>\n                        <div class=\"papathemes-ai-widget-z5x8wwcc-stat\">\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-num\">3,500<span>+</span></div>\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-label\">AUTO SKUS</div>\n                        </div>\n                        <div class=\"papathemes-ai-widget-z5x8wwcc-stat\">\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-num\">8M<span>+</span></div>\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-label\">Orders Shipped</div>\n                        </div>\n                        <div class=\"papathemes-ai-widget-z5x8wwcc-stat\">\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-num\">99<span>%</span></div>\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-stat-label\">Customer Satisfaction</div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"papathemes-ai-widget-z5x8wwcc-content\">\n                    <div class=\"papathemes-ai-widget-z5x8wwcc-eyebrow\">Why Choose Us</div>\n                    <h2 data-localized=\"1\" data-localized=\"1\" class=\"papathemes-ai-widget-z5x8wwcc-heading\">Auto Parts That Fit. <em>Pricing That Drives.</em></h2>\n                    <p class=\"papathemes-ai-widget-z5x8wwcc-desc\">From OEM replacements to performance upgrades — every part is verified for fitment and stocked for fast dispatch to keep vehicles on the road.</p>\n                    <div class=\"papathemes-ai-widget-z5x8wwcc-features\">\n                        <div class=\"papathemes-ai-widget-z5x8wwcc-feat\">\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-feat-icon\">\n                                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16zM12 4.15 18.4 7.8 12 11.45 5.6 7.8 12 4.15zM5 9.5l6 3.43v6.94l-6-3.43V9.5zm8 10.37v-6.94l6-3.43v6.94l-6 3.43z\"/></svg>\n                            </div>\n                            <div>\n                                <div class=\"papathemes-ai-widget-z5x8wwcc-feat-title\">Verified Fitment</div>\n                                <div class=\"papathemes-ai-widget-z5x8wwcc-feat-desc\">Every part cross-checked against year/make/model so you order right the first time.</div>\n                            </div>\n                        </div>\n                        <div class=\"papathemes-ai-widget-z5x8wwcc-feat\">\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-feat-icon\">\n                                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2a3 3 0 0 0 6 0h6a3 3 0 0 0 6 0h2v-5l-3-4zM6 18.5A1.5 1.5 0 1 1 7.5 17 1.5 1.5 0 0 1 6 18.5zm13.5-9 1.96 2.5H17V9.5h2.5zM18 18.5A1.5 1.5 0 1 1 19.5 17 1.5 1.5 0 0 1 18 18.5z\"/></svg>\n                            </div>\n                            <div>\n                                <div class=\"papathemes-ai-widget-z5x8wwcc-feat-title\">Fast Bulk Fulfillment</div>\n                                <div class=\"papathemes-ai-widget-z5x8wwcc-feat-desc\">Same-day dispatch on stock items and shop pricing trusted by 9,000+ repair shops and enthusiasts.</div>\n                            </div>\n                        </div>\n                        <div class=\"papathemes-ai-widget-z5x8wwcc-feat\">\n                            <div class=\"papathemes-ai-widget-z5x8wwcc-feat-icon\">\n                                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75C7 8 17 8 17 8z\"/></svg>\n                            </div>\n                            <div>\n                                <div class=\"papathemes-ai-widget-z5x8wwcc-feat-title\">OEM & Performance</div>\n                                <div class=\"papathemes-ai-widget-z5x8wwcc-feat-desc\">Genuine OEM replacements alongside trusted aftermarket performance brands.</div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "Homepage Section (autoparts)",
                "description": "",
                "type": "widget"
              },
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "<style>\n.papathemes-ai-widget-pkg1 {\n    --papathemes-ai-widget-pkg1-white: #ffffff;\n    --papathemes-ai-widget-pkg1-bark-50: #f8fafc;\n    --papathemes-ai-widget-pkg1-bark-100: #eef1f5;\n    --papathemes-ai-widget-pkg1-bark-200: #e2e8f0;\n    --papathemes-ai-widget-pkg1-bark-300: #cbd5e1;\n    --papathemes-ai-widget-pkg1-bark-400: #94a3b8;\n    --papathemes-ai-widget-pkg1-bark-500: #64748b;\n    --papathemes-ai-widget-pkg1-bark-600: #475569;\n    --papathemes-ai-widget-pkg1-bark-700: #334155;\n    --papathemes-ai-widget-pkg1-bark-800: #1e293b;\n    --papathemes-ai-widget-pkg1-bark-900: #0f172a;\n    --papathemes-ai-widget-pkg1-terra: #3b82f6;\n    --papathemes-ai-widget-pkg1-gold: #f59e0b;\n    --papathemes-ai-widget-pkg1-gold-soft: #fef3c7;\n    --papathemes-ai-widget-pkg1-success: #16a34a;\n    --papathemes-ai-widget-pkg1-success-soft: #ecfdf5;\n    --papathemes-ai-widget-pkg1-font-heading: 'Inter', sans-serif;\n    --papathemes-ai-widget-pkg1-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n}\n\n.papathemes-ai-widget-pkg1 *,\n.papathemes-ai-widget-pkg1 *::before,\n.papathemes-ai-widget-pkg1 *::after {\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n}\n\n.papathemes-ai-widget-pkg1-section {\n    padding: 32px 20px 0;\n}\n\n/* ── Section header: eyebrow + title + 'view all' link ─────────────────── */\n.papathemes-ai-widget-pkg1-header {\n    display: flex;\n    align-items: flex-end;\n    justify-content: space-between;\n    gap: 16px;\n    margin-bottom: 18px;\n    padding-bottom: 16px;\n    border-bottom: 1px solid var(--papathemes-ai-widget-pkg1-bark-200);\n}\n\n.papathemes-ai-widget-pkg1-header-left {\n    display: flex;\n    flex-direction: column;\n    gap: 6px;\n    min-width: 0;\n}\n\n.papathemes-ai-widget-pkg1-eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 10px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.16em;\n    color: var(--papathemes-ai-widget-pkg1-bark-500);\n}\n\n.papathemes-ai-widget-pkg1-eyebrow::before {\n    content: \"\";\n    display: inline-block;\n    width: 18px;\n    height: 1px;\n    background: var(--papathemes-ai-widget-pkg1-bark-400);\n}\n\n.papathemes-ai-widget-pkg1-title {\n    font-family: var(--papathemes-ai-widget-pkg1-font-heading);\n    font-size: 22px;\n    font-weight: 700;\n    color: var(--papathemes-ai-widget-pkg1-bark-900);\n    letter-spacing: -0.02em;\n    line-height: 1.2;\n}\n\n.papathemes-ai-widget-pkg1-viewall {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 11px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-pkg1-bark-600);\n    text-decoration: none;\n    padding: 8px 14px;\n    border: 1px solid var(--papathemes-ai-widget-pkg1-bark-200);\n    border-radius: 999px;\n    transition: all .2s ease;\n    flex-shrink: 0;\n}\n\n.papathemes-ai-widget-pkg1-viewall:hover {\n    color: var(--papathemes-ai-widget-pkg1-bark-900);\n    border-color: var(--papathemes-ai-widget-pkg1-bark-400);\n    background: var(--papathemes-ai-widget-pkg1-bark-50);\n}\n\n.papathemes-ai-widget-pkg1-viewall svg {\n    width: 12px;\n    height: 12px;\n}\n\n/* ── Hero summary strip — restrained ecommerce palette ─────────────────── */\n.papathemes-ai-widget-pkg1-hero {\n    display: grid;\n    grid-template-columns: 280px 1fr 220px;\n    gap: 28px;\n    align-items: stretch;\n    padding: 22px 26px;\n    background: var(--papathemes-ai-widget-pkg1-white);\n    border: 1px solid var(--papathemes-ai-widget-pkg1-bark-200);\n    border-radius: 8px;\n    margin-bottom: 16px;\n}\n\n@media (max-width: 1100px) {\n    .papathemes-ai-widget-pkg1-hero {\n        grid-template-columns: 1fr;\n        gap: 20px;\n    }\n}\n\n/* Cell 1 — rating hero */\n.papathemes-ai-widget-pkg1-rating-hero {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n    justify-content: center;\n    padding-right: 28px;\n    border-right: 1px solid var(--papathemes-ai-widget-pkg1-bark-100);\n}\n\n@media (max-width: 1100px) {\n    .papathemes-ai-widget-pkg1-rating-hero {\n        padding-right: 0;\n        padding-bottom: 16px;\n        border-right: none;\n        border-bottom: 1px solid var(--papathemes-ai-widget-pkg1-bark-100);\n    }\n}\n\n.papathemes-ai-widget-pkg1-rating-row {\n    display: flex;\n    align-items: baseline;\n    gap: 12px;\n}\n\n.papathemes-ai-widget-pkg1-rating-big {\n    font-family: var(--papathemes-ai-widget-pkg1-font-heading);\n    font-size: 52px;\n    font-weight: 700;\n    color: var(--papathemes-ai-widget-pkg1-bark-900);\n    letter-spacing: -0.04em;\n    line-height: 1;\n}\n\n.papathemes-ai-widget-pkg1-rating-out {\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 13px;\n    color: var(--papathemes-ai-widget-pkg1-bark-500);\n    font-weight: 500;\n}\n\n.papathemes-ai-widget-pkg1-stars {\n    display: inline-flex;\n    gap: 2px;\n    color: var(--papathemes-ai-widget-pkg1-gold);\n}\n\n.papathemes-ai-widget-pkg1-stars svg {\n    width: 16px;\n    height: 16px;\n}\n\n.papathemes-ai-widget-pkg1-rating-rank {\n    display: inline-block;\n    font-family: var(--papathemes-ai-widget-pkg1-font-heading);\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-pkg1-bark-700);\n    text-transform: uppercase;\n    letter-spacing: 0.08em;\n    margin-top: 2px;\n}\n\n.papathemes-ai-widget-pkg1-rating-count {\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 12px;\n    color: var(--papathemes-ai-widget-pkg1-bark-500);\n}\n\n/* Cell 2 — distribution */\n.papathemes-ai-widget-pkg1-dist {\n    list-style: none;\n    display: flex;\n    flex-direction: column;\n    gap: 6px;\n    justify-content: center;\n}\n\n.papathemes-ai-widget-pkg1-dist-row {\n    display: grid;\n    grid-template-columns: 38px 1fr 36px 50px;\n    align-items: center;\n    gap: 12px;\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 12px;\n    color: var(--papathemes-ai-widget-pkg1-bark-600);\n}\n\n.papathemes-ai-widget-pkg1-dist-label {\n    display: inline-flex;\n    align-items: center;\n    gap: 4px;\n    font-weight: 700;\n    color: var(--papathemes-ai-widget-pkg1-bark-700);\n    font-size: 12px;\n}\n\n.papathemes-ai-widget-pkg1-dist-label svg {\n    width: 11px;\n    height: 11px;\n    color: var(--papathemes-ai-widget-pkg1-gold);\n}\n\n.papathemes-ai-widget-pkg1-dist-bar {\n    position: relative;\n    height: 8px;\n    background: var(--papathemes-ai-widget-pkg1-bark-100);\n    border-radius: 2px;\n    overflow: hidden;\n}\n\n.papathemes-ai-widget-pkg1-dist-fill {\n    display: block;\n    height: 100%;\n    background: var(--papathemes-ai-widget-pkg1-gold);\n    border-radius: inherit;\n}\n\n.papathemes-ai-widget-pkg1-dist-pct {\n    text-align: right;\n    font-weight: 700;\n    color: var(--papathemes-ai-widget-pkg1-bark-700);\n    font-variant-numeric: tabular-nums;\n    font-size: 12px;\n}\n\n.papathemes-ai-widget-pkg1-dist-count {\n    text-align: right;\n    color: var(--papathemes-ai-widget-pkg1-bark-400);\n    font-variant-numeric: tabular-nums;\n    font-size: 11px;\n}\n\n/* Cell 3 — trust badges */\n.papathemes-ai-widget-pkg1-badges {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    justify-content: center;\n    padding-left: 28px;\n    border-left: 1px solid var(--papathemes-ai-widget-pkg1-bark-100);\n}\n\n@media (max-width: 1100px) {\n    .papathemes-ai-widget-pkg1-badges {\n        padding-left: 0;\n        padding-top: 16px;\n        border-left: none;\n        border-top: 1px solid var(--papathemes-ai-widget-pkg1-bark-100);\n        flex-direction: row;\n        flex-wrap: wrap;\n    }\n}\n\n.papathemes-ai-widget-pkg1-badge {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 12px;\n    color: var(--papathemes-ai-widget-pkg1-bark-600);\n    font-weight: 500;\n}\n\n.papathemes-ai-widget-pkg1-badge strong {\n    font-weight: 700;\n    color: var(--papathemes-ai-widget-pkg1-bark-900);\n}\n\n.papathemes-ai-widget-pkg1-badge-icon {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 24px;\n    height: 24px;\n    border-radius: 4px;\n    flex-shrink: 0;\n    background: var(--papathemes-ai-widget-pkg1-bark-50);\n    color: var(--papathemes-ai-widget-pkg1-bark-700);\n    border: 1px solid var(--papathemes-ai-widget-pkg1-bark-200);\n}\n\n.papathemes-ai-widget-pkg1-badge-icon svg {\n    width: 12px;\n    height: 12px;\n}\n\n/* ── Carousel ─────────────────────────────────────────────────────────── */\n.papathemes-ai-widget-pkg1-carousel-wrap {\n    position: relative;\n    min-width: 0;\n}\n\n.papathemes-ai-widget-pkg1-scroll {\n    display: flex;\n    gap: 16px;\n    overflow-x: auto;\n    scroll-snap-type: x mandatory;\n    scrollbar-width: none;\n    padding: 4px 0;\n}\n\n.papathemes-ai-widget-pkg1-scroll::-webkit-scrollbar {\n    display: none;\n}\n\n.papathemes-ai-widget-pkg1-arrow {\n    display: none;\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 36px;\n    height: 36px;\n    border-radius: 50%;\n    background: var(--papathemes-ai-widget-pkg1-white);\n    border: 1px solid var(--papathemes-ai-widget-pkg1-bark-200);\n    cursor: pointer;\n    z-index: 3;\n    align-items: center;\n    justify-content: center;\n    padding: 0;\n    transition: all .2s ease;\n    color: var(--papathemes-ai-widget-pkg1-bark-700);\n}\n\n.papathemes-ai-widget-pkg1-arrow svg {\n    width: 18px;\n    height: 18px;\n}\n\n.papathemes-ai-widget-pkg1-arrow:hover {\n    border-color: var(--papathemes-ai-widget-pkg1-bark-400);\n    color: var(--papathemes-ai-widget-pkg1-bark-900);\n    box-shadow: 0 2px 8px rgba(15, 23, 42, .08);\n}\n\n.papathemes-ai-widget-pkg1-arrow--prev {\n    left: -16px;\n}\n\n.papathemes-ai-widget-pkg1-arrow--next {\n    right: -16px;\n}\n\n@media (min-width: 768px) {\n    .papathemes-ai-widget-pkg1-arrow {\n        display: flex;\n    }\n}\n\n/* ── Review card — restrained ecommerce ───────────────────────────────── */\n.papathemes-ai-widget-pkg1-review {\n    min-width: 240px;\n    max-width: 260px;\n    flex-shrink: 0;\n    scroll-snap-align: start;\n    background: var(--papathemes-ai-widget-pkg1-white);\n    border: 1px solid var(--papathemes-ai-widget-pkg1-bark-200);\n    border-radius: 8px;\n    padding: 18px 16px 14px;\n    transition: border-color .2s ease, box-shadow .2s ease;\n    position: relative;\n    overflow: hidden;\n    display: flex;\n    flex-direction: column;\n}\n\n.papathemes-ai-widget-pkg1-review:hover {\n    border-color: var(--papathemes-ai-widget-pkg1-bark-400);\n    box-shadow: 0 4px 16px rgba(15, 23, 42, .06);\n}\n\n/* Subtle faded quote mark — top-left, neutral */\n.papathemes-ai-widget-pkg1-quote-bg {\n    position: absolute;\n    top: 4px;\n    left: 10px;\n    font-family: Georgia, 'Times New Roman', serif;\n    font-size: 60px;\n    line-height: 1;\n    color: var(--papathemes-ai-widget-pkg1-bark-100);\n    pointer-events: none;\n    user-select: none;\n    font-weight: 700;\n    z-index: 0;\n}\n\n.papathemes-ai-widget-pkg1-r-meta {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 8px;\n    margin-bottom: 10px;\n    position: relative;\n    z-index: 1;\n}\n\n.papathemes-ai-widget-pkg1-r-stars {\n    display: flex;\n    gap: 2px;\n    color: var(--papathemes-ai-widget-pkg1-gold);\n}\n\n.papathemes-ai-widget-pkg1-r-stars svg {\n    width: 13px;\n    height: 13px;\n}\n\n.papathemes-ai-widget-pkg1-r-ago {\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 10px;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 0.06em;\n    color: var(--papathemes-ai-widget-pkg1-bark-400);\n}\n\n.papathemes-ai-widget-pkg1-r-text {\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 13px;\n    color: var(--papathemes-ai-widget-pkg1-bark-800);\n    line-height: 1.55;\n    margin-bottom: 14px;\n    display: -webkit-box;\n    -webkit-line-clamp: 4;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    position: relative;\n    z-index: 1;\n    flex: 1;\n    font-weight: 500;\n}\n\n.papathemes-ai-widget-pkg1-r-author {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding-top: 12px;\n    border-top: 1px solid var(--papathemes-ai-widget-pkg1-bark-100);\n    position: relative;\n    z-index: 1;\n}\n\n.papathemes-ai-widget-pkg1-avatar {\n    width: 36px;\n    height: 36px;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-family: var(--papathemes-ai-widget-pkg1-font-heading);\n    font-weight: 700;\n    font-size: 12px;\n    color: #ffffff;\n    letter-spacing: 0.02em;\n    flex-shrink: 0;\n}\n\n.papathemes-ai-widget-pkg1-r-id {\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    flex: 1;\n}\n\n.papathemes-ai-widget-pkg1-r-name {\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 13px;\n    font-weight: 700;\n    color: var(--papathemes-ai-widget-pkg1-bark-900);\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    line-height: 1.3;\n}\n\n.papathemes-ai-widget-pkg1-r-check {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 14px;\n    height: 14px;\n    border-radius: 50%;\n    background: var(--papathemes-ai-widget-pkg1-success);\n    color: #ffffff;\n    flex-shrink: 0;\n}\n\n.papathemes-ai-widget-pkg1-r-check svg {\n    width: 9px;\n    height: 9px;\n}\n\n.papathemes-ai-widget-pkg1-r-role {\n    font-family: var(--papathemes-ai-widget-pkg1-font-body);\n    font-size: 11px;\n    color: var(--papathemes-ai-widget-pkg1-bark-500);\n    margin-top: 2px;\n}\n\n@media (max-width: 900px) {\n    .papathemes-ai-widget-pkg1-hero {\n        padding: 18px;\n    }\n\n    .papathemes-ai-widget-pkg1-rating-big {\n        font-size: 48px;\n    }\n}\n\n@media (max-width: 767px) {\n    .papathemes-ai-widget-pkg1-section {\n        padding: 24px 10px 0;\n    }\n\n    .papathemes-ai-widget-pkg1-review {\n        min-width: 240px;\n    }\n\n    .papathemes-ai-widget-pkg1-quote-bg {\n        font-size: 64px;\n    }\n\n    .papathemes-ai-widget-pkg1-header {\n        flex-direction: column;\n        align-items: flex-start;\n        gap: 12px;\n    }\n}\n</style>\n\n<div class=\"papathemes-ai-widget-pkg1\">\n    <div class=\"papathemes-ai-widget-pkg1-section\">\n        <header class=\"papathemes-ai-widget-pkg1-header\">\n            <div class=\"papathemes-ai-widget-pkg1-header-left\">\n                <span class=\"papathemes-ai-widget-pkg1-eyebrow\">Reviews</span>\n                <h2 class=\"papathemes-ai-widget-pkg1-title\">Customer Reviews</h2>\n            </div>\n            <a href=\"#reviews\" class=\"papathemes-ai-widget-pkg1-viewall\" aria-label=\"View all reviews\">\n                View all 2,400\n                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg>\n            </a>\n        </header>\n        <section class=\"papathemes-ai-widget-pkg1-hero\" aria-label=\"Rating summary\">\n            <div class=\"papathemes-ai-widget-pkg1-rating-hero\">\n                <div class=\"papathemes-ai-widget-pkg1-rating-row\">\n                    <span class=\"papathemes-ai-widget-pkg1-rating-big\">4.8</span>\n                    <span class=\"papathemes-ai-widget-pkg1-rating-out\">out of 5</span>\n                </div>\n                <div class=\"papathemes-ai-widget-pkg1-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                <span class=\"papathemes-ai-widget-pkg1-rating-count\">Based on 2,400+ verified reviews</span>\n            </div>\n            <ul class=\"papathemes-ai-widget-pkg1-dist\">\n                    <li class=\"papathemes-ai-widget-pkg1-dist-row\">\n                        <span class=\"papathemes-ai-widget-pkg1-dist-label\">5 <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-bar\"><span class=\"papathemes-ai-widget-pkg1-dist-fill\" style=\"width:78%\"></span></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-pct\">78%</span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-count\">1,872</span>\n                    </li>\n                    <li class=\"papathemes-ai-widget-pkg1-dist-row\">\n                        <span class=\"papathemes-ai-widget-pkg1-dist-label\">4 <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-bar\"><span class=\"papathemes-ai-widget-pkg1-dist-fill\" style=\"width:18%\"></span></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-pct\">18%</span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-count\">432</span>\n                    </li>\n                    <li class=\"papathemes-ai-widget-pkg1-dist-row\">\n                        <span class=\"papathemes-ai-widget-pkg1-dist-label\">3 <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-bar\"><span class=\"papathemes-ai-widget-pkg1-dist-fill\" style=\"width:3%\"></span></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-pct\">3%</span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-count\">72</span>\n                    </li>\n                    <li class=\"papathemes-ai-widget-pkg1-dist-row\">\n                        <span class=\"papathemes-ai-widget-pkg1-dist-label\">2 <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-bar\"><span class=\"papathemes-ai-widget-pkg1-dist-fill\" style=\"width:1%\"></span></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-pct\">1%</span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-count\">24</span>\n                    </li>\n                    <li class=\"papathemes-ai-widget-pkg1-dist-row\">\n                        <span class=\"papathemes-ai-widget-pkg1-dist-label\">1 <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-bar\"><span class=\"papathemes-ai-widget-pkg1-dist-fill\" style=\"width:1%\"></span></span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-pct\"><1%</span>\n                        <span class=\"papathemes-ai-widget-pkg1-dist-count\">0</span>\n                    </li>\n            </ul>\n            <div class=\"papathemes-ai-widget-pkg1-badges\">\n                <div class=\"papathemes-ai-widget-pkg1-badge\">\n                    <span class=\"papathemes-ai-widget-pkg1-badge-icon\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span>\n                    <span><strong>98%</strong> recommend</span>\n                </div>\n                <div class=\"papathemes-ai-widget-pkg1-badge\">\n                    <span class=\"papathemes-ai-widget-pkg1-badge-icon\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 2L4 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-8-3z\"/></svg></span>\n                    <span><strong>100%</strong> verified</span>\n                </div>\n                <div class=\"papathemes-ai-widget-pkg1-badge\">\n                    <span class=\"papathemes-ai-widget-pkg1-badge-icon\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M17.65 6.35A7.958 7.958 0 0012 4a8 8 0 108 8h-2a6 6 0 11-1.76-4.24L13 11h7V4l-2.35 2.35z\"/></svg></span>\n                    <span><strong>87%</strong> reorder</span>\n                </div>\n            </div>\n        </section>\n        <div class=\"papathemes-ai-widget-pkg1-carousel-wrap\">\n            <button type=\"button\" class=\"papathemes-ai-widget-pkg1-arrow papathemes-ai-widget-pkg1-arrow--prev\" data-dir=\"prev\" aria-label=\"Previous reviews\">\n                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/></svg>\n            </button>\n            <button type=\"button\" class=\"papathemes-ai-widget-pkg1-arrow papathemes-ai-widget-pkg1-arrow--next\" data-dir=\"next\" aria-label=\"Next reviews\">\n                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg>\n            </button>\n            <div class=\"papathemes-ai-widget-pkg1-scroll\">\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">2 days ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Switched our entire parts ordering here. Faster fitment lookups and far fewer wrong-part returns.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #334155, #1e293b)\">DM</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Dana M.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Shop Owner</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">1 week ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">The performance suspension kit arrived complete with hardware. Install was clean and the ride is night-and-day.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #475569, #334155)\">EK</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Erin K.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">DIY Builder</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">2 weeks ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">OEM brake parts arrive on time, every time. Shop pricing keeps our margin healthy.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #475569, #334155)\">RT</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Ray T.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Service Manager</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">3 weeks ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Right-spec sensors and gaskets cut my diagnostic time noticeably. Reordering by VIN is effortless.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #334155, #1e293b)\">SP</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Sofia P.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Mechanic</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">1 month ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Performance intake shipped same day before a track event. Saved my weekend.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #475569, #334155)\">JL</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Jordan L.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Car Enthusiast</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">1 month ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Maintenance parts arrive ready to install. No more lost time chasing fitment.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #1e293b, #0f172a)\">MA</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Marcus A.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Fleet Manager</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">2 months ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">The eco mailers and paper void fill let us drop plastic entirely. Our customers love the sustainable switch.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #1e293b, #0f172a)\">NB</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Nina B.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Subscription Box Founder</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">2 months ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Double-wall cartons hold up across multiple carrier hand-offs. Breakage on heavy SKUs is basically gone.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #334155, #1e293b)\">CT</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Carlos T.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">3PL Operations</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">3 months ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Consistent board strength and accurate dimensions. We can plan pallet loads without surprises.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #64748b, #475569)\">HW</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Hannah W.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Retail Buyer</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">3 months ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Poly mailers are light, tough, and cheap to ship. Exactly what I needed to scale my store.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #475569, #334155)\">TV</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Tom V.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Dropship Seller</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">4 months ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Their team helped me spec the right cushioning for fragile glassware. Damage claims dropped to near zero.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #64748b, #475569)\">GR</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Grace R.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Logistics Coordinator</span>\n                        </div>\n                    </footer>\n                </article>\n\n                <article class=\"papathemes-ai-widget-pkg1-review\">\n                    <span class=\"papathemes-ai-widget-pkg1-quote-bg\" aria-hidden=\"true\">&ldquo;</span>\n                    <div class=\"papathemes-ai-widget-pkg1-r-meta\">\n                        <div class=\"papathemes-ai-widget-pkg1-r-stars\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"/></svg></div>\n                        <span class=\"papathemes-ai-widget-pkg1-r-ago\">5 months ago</span>\n                    </div>\n                    <p class=\"papathemes-ai-widget-pkg1-r-text\">Bulk tape and box bundles ship fast and the quality is consistent. Our go-to supplier now.</p>\n                    <footer class=\"papathemes-ai-widget-pkg1-r-author\">\n                        <div class=\"papathemes-ai-widget-pkg1-avatar\" style=\"background:linear-gradient(135deg, #1e293b, #0f172a)\">PD</div>\n                        <div class=\"papathemes-ai-widget-pkg1-r-id\">\n                            <strong class=\"papathemes-ai-widget-pkg1-r-name\">Priya D.<span class=\"papathemes-ai-widget-pkg1-r-check\" aria-label=\"Verified buyer\" title=\"Verified buyer\"><svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg></span></strong>\n                            <span class=\"papathemes-ai-widget-pkg1-r-role\">Shop Owner</span>\n                        </div>\n                    </footer>\n                </article>\n            </div>\n        </div>\n    </div>\n</div>\n\n<script>\n(function(){\n    var id = 'pkg1';\n    var gap = 16;\n    var root = document.querySelector('.papathemes-ai-widget-' + id);\n    if (!root) return;\n    var track = root.querySelector('.papathemes-ai-widget-' + id + '-scroll');\n    if (!track) return;\n    var prev = root.querySelector('[data-dir=\"prev\"]');\n    var next = root.querySelector('[data-dir=\"next\"]');\n    var cardW = function(){ var c = track.querySelector('.papathemes-ai-widget-' + id + '-review'); return c ? c.offsetWidth + gap : 260; };\n    if (prev) prev.onclick = function(){ track.scrollBy({ left: -cardW(), behavior: 'smooth' }); };\n    if (next) next.onclick = function(){ track.scrollBy({ left: cardW(), behavior: 'smooth' }); };\n})();\n</script>",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "Homepage Section (autoparts)",
                "description": "",
                "type": "widget"
              },
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "\n<style>\n.papathemes-ai-widget-sg5va1rw {\n    --papathemes-ai-widget-sg5va1rw-white: #ffffff;\n    --papathemes-ai-widget-sg5va1rw-bark-100: #f1f5f9;\n    --papathemes-ai-widget-sg5va1rw-bark-500: #64748b;\n    --papathemes-ai-widget-sg5va1rw-bark-800: #1e293b;\n    --papathemes-ai-widget-sg5va1rw-bark-900: #0f172a;\n    --papathemes-ai-widget-sg5va1rw-terra: #d97706;\n    --papathemes-ai-widget-sg5va1rw-terra-dark: #b45309;\n    --papathemes-ai-widget-sg5va1rw-terra-pale: #fffbeb;\n    --papathemes-ai-widget-sg5va1rw-forest-700: #15803d;\n    --papathemes-ai-widget-sg5va1rw-font-heading: 'Inter', sans-serif;\n    --papathemes-ai-widget-sg5va1rw-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n}\n\n.papathemes-ai-widget-sg5va1rw *,\n.papathemes-ai-widget-sg5va1rw *::before,\n.papathemes-ai-widget-sg5va1rw *::after {\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n}\n\n.papathemes-ai-widget-sg5va1rw-section {\n    padding: 32px 20px 0;\n}\n\n.papathemes-ai-widget-sg5va1rw-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 20px;\n}\n\n.papathemes-ai-widget-sg5va1rw-header-left {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n}\n\n.papathemes-ai-widget-sg5va1rw-sec-icon {\n    width: 36px;\n    height: 36px;\n    border-radius: 8px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n    background: var(--papathemes-ai-widget-sg5va1rw-terra-pale);\n    color: var(--papathemes-ai-widget-sg5va1rw-terra);\n}\n\n.papathemes-ai-widget-sg5va1rw-sec-icon svg {\n    width: 18px;\n    height: 18px;\n}\n\n.papathemes-ai-widget-sg5va1rw-title {\n    font-family: var(--papathemes-ai-widget-sg5va1rw-font-heading);\n    font-size: 18px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-sg5va1rw-bark-900);\n}\n\n.papathemes-ai-widget-sg5va1rw-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 18px;\n    margin-top: 20px;\n}\n\n.papathemes-ai-widget-sg5va1rw-card-link {\n    text-decoration: none;\n    color: inherit;\n    display: block;\n}\n\n.papathemes-ai-widget-sg5va1rw-card {\n    background: var(--papathemes-ai-widget-sg5va1rw-white);\n    border: 1px solid var(--papathemes-ai-widget-sg5va1rw-bark-100);\n    border-radius: 8px;\n    overflow: hidden;\n    transition: all .35s;\n}\n\na.papathemes-ai-widget-sg5va1rw-card-link .papathemes-ai-widget-sg5va1rw-card {\n    cursor: pointer;\n}\n\na.papathemes-ai-widget-sg5va1rw-card-link .papathemes-ai-widget-sg5va1rw-card:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 4px 20px rgba(15, 13, 10, .08);\n    border-color: transparent;\n}\n\n.papathemes-ai-widget-sg5va1rw-thumb {\n    aspect-ratio: 16/9;\n    position: relative;\n    display: block;\n    align-items: center;\n    justify-content: center;\n    overflow: hidden;\n    background-color: #f8fafc;\n}\n\n.papathemes-ai-widget-sg5va1rw-thumb img {\n    width: 100%;\n    height: 100%;\n    /* cover + 4:3 ratio = uniform card visuals across stores:\n       - packaging square product photos crop minimally (~12% top/bottom)\n       - electronics 16:9 hero images crop slightly on sides (~12%)\n       - subject usually centered → safe crop for both\n       Eliminates the \"different image sizes inside same-size frames\" bug\n       caused by object-fit: contain + variable source ratios. */\n    object-fit: cover;\n    opacity: 0;\n    transition: opacity 0.3s ease-in-out;\n}\n\n.papathemes-ai-widget-sg5va1rw-thumb img.papathemes-ai-widget-sg5va1rw-loaded {\n    opacity: 1;\n}\n\n.papathemes-ai-widget-sg5va1rw-type {\n    position: absolute;\n    top: 10px;\n    left: 10px;\n    padding: 3px 9px;\n    background: rgba(0, 0, 0, .45);\n    backdrop-filter: blur(6px);\n    border-radius: 4px;\n    font-family: var(--papathemes-ai-widget-sg5va1rw-font-body);\n    font-size: 8px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: .06em;\n    color: #fff;\n    display: flex;\n    align-items: center;\n    gap: 4px;\n    z-index: 2;\n}\n\n.papathemes-ai-widget-sg5va1rw-type svg {\n    width: 10px;\n    height: 10px;\n}\n\n.papathemes-ai-widget-sg5va1rw-body {\n    padding: 18px;\n}\n\n.papathemes-ai-widget-sg5va1rw-body h3 {\n    font-family: var(--papathemes-ai-widget-sg5va1rw-font-body);\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-sg5va1rw-bark-800);\n    margin-bottom: 4px;\n    line-height: 1.3;\n    transition: color .2s;\n}\n\na.papathemes-ai-widget-sg5va1rw-card-link .papathemes-ai-widget-sg5va1rw-card:hover .papathemes-ai-widget-sg5va1rw-body h3 {\n    color: var(--papathemes-ai-widget-sg5va1rw-terra-dark);\n}\n\n.papathemes-ai-widget-sg5va1rw-body p {\n    font-family: var(--papathemes-ai-widget-sg5va1rw-font-body);\n    font-size: 11px;\n    color: var(--papathemes-ai-widget-sg5va1rw-bark-500);\n    line-height: 1.5;\n}\n\n@media (max-width: 1023px) {\n    .papathemes-ai-widget-sg5va1rw-grid {\n        grid-template-columns: 1fr;\n    }\n}\n\n@media (max-width: 767px) {\n    .papathemes-ai-widget-sg5va1rw-section {\n        padding: 24px 10px 0;\n    }\n}\n</style>\n\n<div class=\"papathemes-ai-widget-sg5va1rw\">\n    <div class=\"papathemes-ai-widget-sg5va1rw-section\">\n        <div class=\"papathemes-ai-widget-sg5va1rw-header\">\n            <div class=\"papathemes-ai-widget-sg5va1rw-header-left\">\n                <div class=\"papathemes-ai-widget-sg5va1rw-sec-icon\">\n                    <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-5 2v6l-2.5-1.5L8 10V4h5zM6 20V4h.01L6 20h12V4l.01 16H6z\"/></svg>\n                </div>\n                <h2 class=\"papathemes-ai-widget-sg5va1rw-title\">Auto Parts Resources &amp; Guides</h2>\n            </div>\n        </div>\n        <div class=\"papathemes-ai-widget-sg5va1rw-grid\">\n            <a href=\"https://eshopping-autoparts-demo.mybigcommerce.com/blog/\" class=\"papathemes-ai-widget-sg5va1rw-card-link\">\n                <div class=\"papathemes-ai-widget-sg5va1rw-card\">\n                    <div class=\"papathemes-ai-widget-sg5va1rw-thumb\">\n                        <img\n                            class=\"papathemes-ai-widget-sg5va1rw-thumb-img\"\n                            data-src=\"https://cdn11.bigcommerce.com/s-u0mz3ww2uj/product_images/uploaded_images/autoparts-fitment-guide.jpg?v=1779872254\"\n                            width=\"640\"\n                            height=\"360\"\n                            alt=\"Auto parts catalog\"\n                            loading=\"lazy\"\n                        />\n                        <span class=\"papathemes-ai-widget-sg5va1rw-type\">\n                            <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z\"/></svg>\n                            Guide\n                        </span>\n                    </div>\n                    <div class=\"papathemes-ai-widget-sg5va1rw-body\">\n                        <h3>How to Find the Right Fitment</h3>\n                        <p>Year/make/model and VIN verification to order the right part the first time.</p>\n                    </div>\n                </div>\n            </a>\n            <a href=\"https://eshopping-autoparts-demo.mybigcommerce.com/blog/\" class=\"papathemes-ai-widget-sg5va1rw-card-link\">\n                <div class=\"papathemes-ai-widget-sg5va1rw-card\">\n                    <div class=\"papathemes-ai-widget-sg5va1rw-thumb\">\n                        <img\n                            class=\"papathemes-ai-widget-sg5va1rw-thumb-img\"\n                            data-src=\"https://cdn11.bigcommerce.com/s-u0mz3ww2uj/product_images/uploaded_images/autoparts-oem-vs-aftermarket.jpg?v=1779872265\"\n                            width=\"640\"\n                            height=\"360\"\n                            alt=\"OEM and aftermarket parts\"\n                            loading=\"lazy\"\n                        />\n                        <span class=\"papathemes-ai-widget-sg5va1rw-type\">\n                            <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z\"/></svg>\n                            Guide\n                        </span>\n                    </div>\n                    <div class=\"papathemes-ai-widget-sg5va1rw-body\">\n                        <h3>OEM vs Aftermarket: When to Choose</h3>\n                        <p>Trade-offs between genuine OEM and trusted aftermarket performance brands.</p>\n                    </div>\n                </div>\n            </a>\n            <a href=\"https://eshopping-autoparts-demo.mybigcommerce.com/blog/\" class=\"papathemes-ai-widget-sg5va1rw-card-link\">\n                <div class=\"papathemes-ai-widget-sg5va1rw-card\">\n                    <div class=\"papathemes-ai-widget-sg5va1rw-thumb\">\n                        <img\n                            class=\"papathemes-ai-widget-sg5va1rw-thumb-img\"\n                            data-src=\"https://cdn11.bigcommerce.com/s-u0mz3ww2uj/product_images/uploaded_images/autoparts-diy-repair-safety.jpg?v=1779872276\"\n                            width=\"640\"\n                            height=\"360\"\n                            alt=\"DIY auto repair tools\"\n                            loading=\"lazy\"\n                        />\n                        <span class=\"papathemes-ai-widget-sg5va1rw-type\">\n                            <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z\"/></svg>\n                            Guide\n                        </span>\n                    </div>\n                    <div class=\"papathemes-ai-widget-sg5va1rw-body\">\n                        <h3>DIY Repair Safety &amp; Tools</h3>\n                        <p>Essential tools and safety gear for confident at-home auto repair work.</p>\n                    </div>\n                </div>\n            </a>\n        </div>\n    </div>\n</div>\n\n<script>\n(function(){\n    var id = 'sg5va1rw';\n    var root = document.querySelector('.papathemes-ai-widget-' + id);\n    if (!root) return;\n    var images = root.querySelectorAll('img[data-src]');\n    var imageObserver = new IntersectionObserver(function(entries) {\n        entries.forEach(function(entry) {\n            if (entry.isIntersecting) {\n                var img = entry.target;\n                var src = img.getAttribute('data-src');\n                if (src) {\n                    img.src = src;\n                    img.removeAttribute('data-src');\n                    img.addEventListener('load', function() {\n                        img.classList.add('papathemes-ai-widget-' + id + '-loaded');\n                    });\n                    imageObserver.unobserve(img);\n                }\n            }\n        });\n    }, { rootMargin: '50px' });\n    images.forEach(function(img) {\n        imageObserver.observe(img);\n    });\n})();\n</script>\n",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "Homepage Section (autoparts)",
                "description": "",
                "type": "widget"
              }
            ]
          },
          {
            "name": "home_below_newsletter",
            "children": [
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "<style>\n.papathemes-ai-widget-k83ixx3j {\n    --papathemes-ai-widget-k83ixx3j-white: #ffffff;\n    --papathemes-ai-widget-k83ixx3j-bark-100: #f1f5f9;\n    --papathemes-ai-widget-k83ixx3j-bark-600: #475569;\n    --papathemes-ai-widget-k83ixx3j-bark-900: #0f172a;\n    --papathemes-ai-widget-k83ixx3j-font-heading: 'Inter', sans-serif;\n    --papathemes-ai-widget-k83ixx3j-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    box-sizing: border-box;\n    margin: 32px 20px 0;\n    padding: 0;\n}\n\n.papathemes-ai-widget-k83ixx3j *,\n.papathemes-ai-widget-k83ixx3j *::before,\n.papathemes-ai-widget-k83ixx3j *::after {\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n}\n\n.papathemes-ai-widget-k83ixx3j-section {\n    background: var(--papathemes-ai-widget-k83ixx3j-white);\n    border: 1px solid var(--papathemes-ai-widget-k83ixx3j-bark-100);\n    border-radius: 8px;\n    padding: 32px;\n}\n\n.papathemes-ai-widget-k83ixx3j-container {\n    max-width: 1200px;\n    margin: 0 auto;\n}\n\n.papathemes-ai-widget-k83ixx3j-title {\n    font-family: var(--papathemes-ai-widget-k83ixx3j-font-heading);\n    font-size: 1.25rem;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-k83ixx3j-bark-900);\n    text-align: center;\n    margin-bottom: 16px;\n    line-height: 1.3;\n}\n\n.papathemes-ai-widget-k83ixx3j-text {\n    font-family: var(--papathemes-ai-widget-k83ixx3j-font-body);\n    font-size: 0.86rem;\n    color: var(--papathemes-ai-widget-k83ixx3j-bark-600);\n    line-height: 1.8;\n    max-width: 860px;\n    margin-left: auto;\n    margin-right: auto;\n    margin-bottom: 12px;\n}\n\n@media (max-width: 767px) {\n    .papathemes-ai-widget-k83ixx3j {\n        margin: 24px 10px 0;\n    }\n\n    .papathemes-ai-widget-k83ixx3j-section {\n        padding: 24px 18px;\n    }\n\n    .papathemes-ai-widget-k83ixx3j-title {\n        font-size: 1.15rem;\n    }\n}\n</style>\n\n<div class=\"papathemes-ai-widget-k83ixx3j\">\n    <div class=\"papathemes-ai-widget-k83ixx3j-section\">\n        <div class=\"papathemes-ai-widget-k83ixx3j-container\">\n            <h2 class=\"papathemes-ai-widget-k83ixx3j-title\">Your Complete Auto Parts Source</h2>\n            <p class=\"papathemes-ai-widget-k83ixx3j-text\">We supply the OEM and performance parts that keep mechanics, fleets, and enthusiasts moving. Our catalog spans engine, brake, suspension, electrical, body, and accessory parts — verified for fitment and stocked for fast, predictable reordering.</p>\n            <p class=\"papathemes-ai-widget-k83ixx3j-text\">From routine maintenance to performance upgrades, every part is chosen for fitment accuracy and quality. Browse trusted OEM and aftermarket brands used by thousands of shops and DIY builders every day.</p>\n        </div>\n    </div>\n</div>\n",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "Homepage Section (autoparts)",
                "description": "",
                "type": "widget"
              },
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "<style>\n.papathemes-ai-widget-lkaloss0 {\n    --papathemes-ai-widget-lkaloss0-white: #ffffff;\n    --papathemes-ai-widget-lkaloss0-cream: #f8fafc;\n    --papathemes-ai-widget-lkaloss0-bark-200: #cbd5e1;\n    --papathemes-ai-widget-lkaloss0-bark-300: #cbd5e1;\n    --papathemes-ai-widget-lkaloss0-bark-400: #94a3b8;\n    --papathemes-ai-widget-lkaloss0-bark-700: #334155;\n    --papathemes-ai-widget-lkaloss0-bark-800: #1e293b;\n    --papathemes-ai-widget-lkaloss0-bark-900: #0f172a;\n    --papathemes-ai-widget-lkaloss0-bark-950: #060912;\n    --papathemes-ai-widget-lkaloss0-terra: #d97706;\n    --papathemes-ai-widget-lkaloss0-terra-dark: #b45309;\n    --papathemes-ai-widget-lkaloss0-terra-light: #f59e0b;\n    --papathemes-ai-widget-lkaloss0-font-heading: 'Inter', sans-serif;\n    --papathemes-ai-widget-lkaloss0-font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n}\n\n.papathemes-ai-widget-lkaloss0 *,\n.papathemes-ai-widget-lkaloss0 *::before,\n.papathemes-ai-widget-lkaloss0 *::after {\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n}\n\n.papathemes-ai-widget-lkaloss0-bar {\n    margin: 32px 20px 0;\n    background:\n        linear-gradient(135deg, var(--papathemes-ai-widget-lkaloss0-bark-900) 0%, var(--papathemes-ai-widget-lkaloss0-bark-800) 100%);\n    border: 1px solid rgba(255, 255, 255, 0.06);\n    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 12px 36px rgba(2, 6, 18, 0.35);\n    border-radius: 14px;\n    padding: 30px 36px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 28px;\n    position: relative;\n    overflow: hidden;\n}\n\n.papathemes-ai-widget-lkaloss0-bar::before {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    background:\n        radial-gradient(ellipse 60% 90% at 92% 50%, rgba(217, 119, 6, 0.18), transparent 70%),\n        radial-gradient(ellipse 40% 60% at 0% 0%, rgba(255, 255, 255, 0.04), transparent 60%);\n    pointer-events: none;\n}\n\n.papathemes-ai-widget-lkaloss0-bar::after {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    background-image:\n        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),\n        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);\n    background-size: 40px 40px;\n    opacity: 0.5;\n    pointer-events: none;\n}\n\n.papathemes-ai-widget-lkaloss0-left {\n    position: relative;\n    z-index: 1;\n}\n\n.papathemes-ai-widget-lkaloss0-heading {\n    font-family: var(--papathemes-ai-widget-lkaloss0-font-heading);\n    font-size: 17px;\n    font-weight: 600;\n    color: var(--papathemes-ai-widget-lkaloss0-white);\n    margin-bottom: 6px;\n    letter-spacing: -0.01em;\n}\n\n.papathemes-ai-widget-lkaloss0-heading em {\n    font-style: italic;\n    font-weight: 400;\n    // Hardcoded warm gold accent — universal premium signal, decoupled from\n    // per-store terra-light (renders blue on Electronics #60a5fa).\n    color: #fbbf24;\n}\n\n.papathemes-ai-widget-lkaloss0-desc {\n    font-family: var(--papathemes-ai-widget-lkaloss0-font-body);\n    font-size: 13px;\n    line-height: 1.55;\n    color: var(--papathemes-ai-widget-lkaloss0-bark-300);\n    max-width: 60ch;\n}\n\n.papathemes-ai-widget-lkaloss0-btns {\n    display: flex;\n    gap: 10px;\n    position: relative;\n    z-index: 1;\n}\n\n.papathemes-ai-widget-lkaloss0-btn {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    padding: 12px 24px;\n    border-radius: 8px;\n    font-family: var(--papathemes-ai-widget-lkaloss0-font-heading);\n    font-size: 13px;\n    font-weight: 600;\n    text-decoration: none;\n    transition: all .25s cubic-bezier(.16, 1, .3, 1);\n    letter-spacing: 0.01em;\n    border: none;\n    cursor: pointer;\n}\n\n.papathemes-ai-widget-lkaloss0-btn svg {\n    width: 15px;\n    height: 15px;\n    transition: transform .3s;\n}\n\n.papathemes-ai-widget-lkaloss0-btn--terra {\n    background: var(--papathemes-ai-widget-lkaloss0-terra);\n    color: var(--papathemes-ai-widget-lkaloss0-white);\n}\n\n.papathemes-ai-widget-lkaloss0-btn--terra:hover {\n    background: var(--papathemes-ai-widget-lkaloss0-terra-dark);\n    color: var(--papathemes-ai-widget-lkaloss0-white);\n    box-shadow: 0 6px 24px rgba(217, 119, 6, .35);\n    transform: translateY(-1px);\n    text-decoration: none;\n}\n\n.papathemes-ai-widget-lkaloss0-btn--terra:hover svg {\n    transform: translateX(3px);\n}\n\n.papathemes-ai-widget-lkaloss0-btn--ghost {\n    border: 1px solid rgba(255, 255, 255, 0.22);\n    color: var(--papathemes-ai-widget-lkaloss0-white);\n    background: rgba(255, 255, 255, 0.04);\n    backdrop-filter: blur(8px);\n}\n\n.papathemes-ai-widget-lkaloss0-btn--ghost:hover {\n    border-color: rgba(255, 255, 255, 0.45);\n    color: var(--papathemes-ai-widget-lkaloss0-white);\n    background: rgba(255, 255, 255, 0.1);\n    transform: translateY(-1px);\n    text-decoration: none;\n}\n\n@media (max-width: 767px) {\n    .papathemes-ai-widget-lkaloss0-bar {\n        margin-left: 10px;\n        margin-right: 10px;\n        flex-direction: column;\n        text-align: center;\n        padding: 28px 24px;\n    }\n\n    .papathemes-ai-widget-lkaloss0-btns {\n        flex-direction: column;\n        width: 100%;\n    }\n\n    .papathemes-ai-widget-lkaloss0-btn {\n        justify-content: center;\n    }\n}\n</style>\n\n<div class=\"papathemes-ai-widget-lkaloss0\">\n    <div class=\"papathemes-ai-widget-lkaloss0-bar\">\n        <div class=\"papathemes-ai-widget-lkaloss0-left\">\n            <h3 class=\"papathemes-ai-widget-lkaloss0-heading\">Need help finding the right part? <em>Talk to an Auto Parts Specialist</em></h3>\n            <p class=\"papathemes-ai-widget-lkaloss0-desc\">Our specialists verify fitment by year, make, model, and VIN so you order right the first time. Call or chat anytime.</p>\n        </div>\n        <div class=\"papathemes-ai-widget-lkaloss0-btns\">\n            <a href=\"/contact-us/\" class=\"papathemes-ai-widget-lkaloss0-btn papathemes-ai-widget-lkaloss0-btn--terra\">\n                Request a Quote\n                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\"/></svg>\n            </a>\n            <a href=\"tel:18005550123\" class=\"papathemes-ai-widget-lkaloss0-btn papathemes-ai-widget-lkaloss0-btn--ghost\">\n                <svg aria-hidden=\"true\" focusable=\"false\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z\"/></svg>\n                (800) 555-0123\n            </a>\n        </div>\n    </div>\n</div>\n",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "Homepage Section (autoparts)",
                "description": "",
                "type": "widget"
              }
            ]
          }
        ]
      }
    },
    {
      "template_file": "",
      "snapshot": {
        "regions": [
          {
            "name": "eshopping_footer_description--global",
            "children": [
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "<span class=\"eshopping-footer-desc-text\">eShopping Autoparts Demo — OEM & aftermarket auto parts for every make and model.</span>",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "Footer Tagline (autoparts)",
                "description": "",
                "type": "widget"
              }
            ]
          },
          {
            "name": "product_below_warranty--global",
            "children": [
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "<style>.eswarr{border:1px solid var(--eshopping-bark-200);border-radius:var(--eshopping-r-md);overflow:hidden;margin:var(--eshopping-sp-5) 0;background:var(--eshopping-bark-50)}.eswarr__hd{display:flex;align-items:center;gap:var(--eshopping-sp-2);padding:var(--eshopping-sp-3) var(--eshopping-sp-4);font-family:var(--eshopping-font-heading),Georgia,serif;font-weight:700;font-size:1rem;color:var(--eshopping-bark-800);background:var(--eshopping-white);border-bottom:2px solid var(--eshopping-terra)}.eswarr__hd svg{width:1.15rem;height:1.15rem;color:var(--eshopping-terra);flex-shrink:0}.eswarr__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--eshopping-sp-4);padding:var(--eshopping-sp-5)}.eswarr__item{display:flex;gap:var(--eshopping-sp-3);align-items:flex-start}.eswarr__ic{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--eshopping-r-sm);background:var(--eshopping-terra-tint);color:var(--eshopping-terra)}.eswarr__ic svg{width:20px;height:20px}.eswarr__tt{margin:0 0 2px;font-weight:700;font-size:0.93rem;line-height:1.3;color:var(--eshopping-bark-800)}.eswarr__tx{margin:0;font-size:0.82rem;line-height:1.5;color:var(--eshopping-bark-600)}.eswarr__note{display:flex;gap:var(--eshopping-sp-2);align-items:center;padding:var(--eshopping-sp-3) var(--eshopping-sp-4);font-size:0.82rem;line-height:1.45;color:var(--eshopping-bark-600);background:var(--eshopping-white);border-top:1px solid var(--eshopping-bark-200)}.eswarr__note svg{width:1rem;height:1rem;color:var(--eshopping-terra);flex-shrink:0}</style><div class=\"eswarr\"><div class=\"eswarr__hd\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"/><path d=\"m9 12 2 2 4-4\"/></svg><span>Additional Warranty &amp; Protection</span></div><div class=\"eswarr__grid\"><div class=\"eswarr__item\"><span class=\"eswarr__ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"/><path d=\"m9 12 2 2 4-4\"/></svg></span><div><p class=\"eswarr__tt\">Manufacturer-Backed Warranty</p><p class=\"eswarr__tx\">Every item carries the full manufacturer warranty against defects in materials and workmanship.</p></div></div><div class=\"eswarr__item\"><span class=\"eswarr__ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"/><path d=\"m9 12 2 2 4-4\"/></svg></span><div><p class=\"eswarr__tt\">100% Genuine &amp; Certified</p><p class=\"eswarr__tx\">Sourced only from authorized suppliers and inspected before each item is shipped.</p></div></div><div class=\"eswarr__item\"><span class=\"eswarr__ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\"/><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"/><path d=\"m9 14 2 2 4-4\"/></svg></span><div><p class=\"eswarr__tt\">Fast Online Registration</p><p class=\"eswarr__tx\">Activate your coverage in minutes with your order number — no paperwork to mail.</p></div></div><div class=\"eswarr__item\"><span class=\"eswarr__ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 12a9 9 0 0 1 15-6.7L21 8\"/><path d=\"M21 3v5h-5\"/><path d=\"M21 12a9 9 0 0 1-15 6.7L3 16\"/><path d=\"M3 21v-5h5\"/></svg></span><div><p class=\"eswarr__tt\">Hassle-Free Replacements</p><p class=\"eswarr__tx\">Approved claims are replaced or refunded quickly, with no restocking fees.</p></div></div></div><div class=\"eswarr__note\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 16v-4\"/><path d=\"M12 8h.01\"/></svg><span>Questions about coverage? Contact our support team with your order number and we'll help you get it sorted.</span></div></div>",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "eShopping Additional Warranty",
                "description": "",
                "type": "widget"
              }
            ]
          },
          {
            "name": "product_above_faq--global",
            "children": [
              {
                "widget_template_uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
                "configuration": {
                  "content": "<style>.esfaq{border:1px solid var(--eshopping-bark-200);border-radius:var(--eshopping-r-md);overflow:hidden;margin:var(--eshopping-sp-5) 0;background:var(--eshopping-white)}.esfaq__hd{padding:var(--eshopping-sp-3) var(--eshopping-sp-4);font-weight:700;font-size:0.93rem;color:var(--eshopping-bark-800);background:var(--eshopping-bark-50);border-bottom:2px solid var(--eshopping-terra)}.esfaq__item{border-top:1px solid var(--eshopping-bark-100)}.esfaq__q{display:flex;justify-content:space-between;align-items:center;gap:var(--eshopping-sp-3);padding:var(--eshopping-sp-3) var(--eshopping-sp-4);font-weight:600;font-size:0.9rem;color:var(--eshopping-bark-800);cursor:pointer;list-style:none}.esfaq__q::-webkit-details-marker{display:none}.esfaq__q::after{content:\"+\";color:var(--eshopping-terra);font-size:1.15rem;line-height:1;flex-shrink:0}.esfaq__item[open] .esfaq__q::after{content:\"\\2212\"}.esfaq__a{padding:0 var(--eshopping-sp-4) var(--eshopping-sp-3);font-size:0.86rem;line-height:1.55;color:var(--eshopping-bark-600)}</style><div class=\"esfaq\" itemscope itemtype=\"https://schema.org/FAQPage\"><div class=\"esfaq__hd\">Frequently Asked Questions</div><details class=\"esfaq__item\" itemscope itemprop=\"mainEntity\" itemtype=\"https://schema.org/Question\"><summary class=\"esfaq__q\" itemprop=\"name\">Does this ship internationally?</summary><div class=\"esfaq__a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https://schema.org/Answer\"><span itemprop=\"text\">Yes, we ship worldwide. Shipping is calculated at checkout based on destination.</span></div></details><details class=\"esfaq__item\" itemscope itemprop=\"mainEntity\" itemtype=\"https://schema.org/Question\"><summary class=\"esfaq__q\" itemprop=\"name\">What is the return policy?</summary><div class=\"esfaq__a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https://schema.org/Answer\"><span itemprop=\"text\">30-day returns on unused items in their original packaging.</span></div></details><details class=\"esfaq__item\" itemscope itemprop=\"mainEntity\" itemtype=\"https://schema.org/Question\"><summary class=\"esfaq__q\" itemprop=\"name\">How do I track my order?</summary><div class=\"esfaq__a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https://schema.org/Answer\"><span itemprop=\"text\">You will get a tracking link by email as soon as your order ships.</span></div></details></div>",
                  "showInContainer": false,
                  "instanceId": ""
                },
                "storefront_api_query_params": {},
                "name": "Product FAQ",
                "description": "",
                "type": "widget"
              }
            ]
          }
        ]
      }
    }
  ],
  "widgetTemplates": [
    {
      "uuid": "49dc72e0-1288-4864-9a8d-5229245b7da9",
      "name": "AI HTML Generator | PapaThemes",
      "schema": [
        {
          "type": "tab",
          "label": "Settings",
          "sections": [
            {
              "label": "Content",
              "settings": [
                {
                  "type": "code",
                  "label": "HTML Content",
                  "id": "content",
                  "default": "<div style=\"padding: 48px 40px; text-align: center; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,0.06);\">\n    <div style=\"display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; background: #f8fafc; border-radius: 14px; margin-bottom: 20px;\">\n        <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#4f46e5\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path><circle cx=\"12\" cy=\"10\" r=\"1\" fill=\"#4f46e5\"></circle><circle cx=\"8\" cy=\"10\" r=\"1\" fill=\"#4f46e5\"></circle><circle cx=\"16\" cy=\"10\" r=\"1\" fill=\"#4f46e5\"></circle></svg>\n    </div>\n    <h2 style=\"margin: 0 0 12px 0; font-size: 24px; font-weight: 600; color: #1e293b; letter-spacing: -0.02em;\">AI HTML Generator</h2>\n    <p style=\"margin: 0; font-size: 15px; color: #64748b; line-height: 1.6;\">Click the AI button to generate custom HTML content using Claude AI.</p>\n</div>",
                  "typeMeta": {
                    "language": "html"
                  }
                },
                {
                  "type": "boolean",
                  "label": "Show in container div",
                  "id": "showInContainer",
                  "default": false
                },
                {
                  "type": "hidden",
                  "id": "instanceId",
                  "default": ""
                }
              ]
            }
          ]
        }
      ],
      "template": "\n        {{#if _.context.isEditorMode}}\n        <link rel=\"stylesheet\" href=\"{{earlyHint 'https://d2lz7267o80s75.cloudfront.net/widgets/latest/ai-html.css' 'preload' as='style' crossorigin='anonymous'}}\">\n        <style>\n            .papathemes-ai-html-{{_.id}}._config {\n            }\n        </style>\n        {{/if}}\n        <div class=\"papathemes-ai-html papathemes-ai-html-{{_.id}} _config\" id=\"papathemes-ai-html-{{_.id}}\">\n            {{#if showInContainer}}\n                <div class=\"container\">\n            {{/if}}\n                <div data-papathemes-ai-html-content=\"content\">{{{content}}}</div>\n            {{#if showInContainer}}\n                </div>\n            {{/if}}\n        </div>\n        {{#if _.context.isEditorMode}}\n        <script nonce=\"{{nonce}}\">\n            (function() {\n                if (!window.__webpack_nonce__) window.__webpack_nonce__ = '{{nonce}}';\n                window.PapaThemesWidgetAIHtml = window.PapaThemesWidgetAIHtml || [];\n                window.PapaThemesWidgetAIHtml.push({\n                    elementId: 'papathemes-ai-html-{{_.id}}',\n                    widgetId: '{{_.id}}',\n                    instanceId: '{{instanceId}}',\n                    apiUrl: 'https://wbyklihx14.execute-api.us-east-1.amazonaws.com/latest',\n                    streamingApiUrl: 'https://fjrsyotie5mqazjgoxn35xjoxe0gdjfh.lambda-url.us-east-1.on.aws',\n                    storeHash: '{{settings.store_hash}}',\n                    requestToken: '4498e8d1-751d-49bc-b196-372c5dac3139'\n                });\n                var src = \"{{earlyHint 'https://d2lz7267o80s75.cloudfront.net/widgets/latest/ai-html.js' 'preload' as='script' crossorigin='anonymous'}}\";\n                if (!document.head.querySelector('script[src=\"' + src + '\"]')) {\n                    var script = document.createElement('script');\n                    script.src = src;\n                    script.type = 'module';\n                    script.async = true;\n                    script.defer = true;\n                    script.nonce = '{{nonce}}';\n                    document.head.appendChild(script);\n                } else if (window.PapaThemesWidgetAIHtmlInit) {\n                    window.PapaThemesWidgetAIHtmlInit();\n                }\n            })();\n        </script>\n        {{/if}}\n    <!-- ###VERSION:1.2.0### -->",
      "date_created": "2026-06-01T06:56:48.734Z",
      "date_modified": "2026-06-01T06:56:48.734Z",
      "kind": "custom",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "a0b1acf8-260e-4287-a804-671552e8a5d1",
      "channel_id": 1,
      "schema_translations": {}
    },
    {
      "uuid": "85eecfa5-4272-4a0e-a2de-9c05cbac0d7e",
      "name": "PayPal Credit Banner - Cart Page (728x90)",
      "schema": [],
      "template": "<style media=\"screen\">\n  #banner-region-{{ _.id }} {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n    width: 100%;\n    max-width: 728px;\n    height: 90px;\n  }\n</style>\n\n<div id=\"banner-region-{{ _.id }}\">\n  <script src=\"https://www.paypalobjects.com/upstream/partner.js\"\n    data-pp_payer_id=\"{{ merchant_id }}\"\n    data-pp_bn_code=\"BigCommerce_Cart_PPC\"\n    data-pp_dimensions=\"728x90\"\n    data-pp_format=\"HTML\"\n    data-pp_presentation_types=\"HTML\"\n    data-pp_page=\"CartPage\"\n    data-pp_country_code=\"{{ country_code }}\"\n    data-pp_locale=\"{{ locale }}\"\n    data-pp_partner_version=\"2\">\n  </script>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.169Z",
      "date_modified": "2024-02-27T02:43:46.169Z",
      "kind": "pp-cartpage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "622b1cdf-5b7d-43f1-a614-fd5ac80f6976",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "e6224986-2a10-40ce-9554-209d6bb86b68",
      "name": "PayPal Credit Banner - Home Page (728x90)",
      "schema": [],
      "template": "<style media=\"screen\">\n  #banner-region-{{ _.id }} {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n    width: 100%;\n    max-width: 728px;\n    height: 90px;\n  }\n</style>\n\n<div id=\"banner-region-{{ _.id }}\">\n  <script src=\"https://www.paypalobjects.com/upstream/partner.js\"\n    data-pp_payer_id=\"{{ merchant_id }}\"\n    data-pp_bn_code=\"BigCommerce_Cart_PPC\"\n    data-pp_dimensions=\"728x90\"\n    data-pp_format=\"HTML\"\n    data-pp_presentation_types=\"HTML\"\n    data-pp_page=\"HomePage\"\n    data-pp_country_code=\"{{ country_code }}\"\n    data-pp_locale=\"{{ locale }}\"\n    data-pp_partner_version=\"2\">\n  </script>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.191Z",
      "date_modified": "2024-02-27T02:43:46.191Z",
      "kind": "pp-homepage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "1a14553e-6d93-4e1f-8295-2d504d6384f5",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "efb68cc2-1107-462e-bee1-9e24446c690a",
      "name": "PayPal Credit Banner - Product Details Page (234x60)",
      "schema": [],
      "template": "<style media=\"screen\">\n  #banner-region-{{ _.id }} {\n    display: block;\n    width: 100%;\n    max-width: 234px;\n    height: 60px;\n  }\n</style>\n\n<div id=\"banner-region-{{ _.id }}\">\n  <script src=\"https://www.paypalobjects.com/upstream/partner.js\"\n    data-pp_payer_id=\"{{ merchant_id }}\"\n    data-pp_bn_code=\"BigCommerce_Cart_PPC\"\n    data-pp_dimensions=\"234x60\"\n    data-pp_format=\"HTML\"\n    data-pp_presentation_types=\"HTML\"\n    data-pp_page=\"ProductDetailsPage\"\n    data-pp_country_code=\"{{ country_code }}\"\n    data-pp_locale=\"{{ locale }}\"\n    data-pp_partner_version=\"2\">\n  </script>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.323Z",
      "date_modified": "2024-02-27T02:43:46.323Z",
      "kind": "pp-proddetailspage-quarterbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "3f1039f5-8820-47e9-ade3-da27a37d2dd9",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "84ca89d5-9289-4225-aa4e-b7b1e9c48085",
      "name": "Braintree PayPal Credit Banner - Cart Page (728x90)",
      "schema": [],
      "template": "<style media=\"screen\">\n    #banner-region-{{ _.id }} {\n        display: block;\n        margin-right: auto;\n        margin-left: auto;\n        width: 100%;\n        max-width: 728px;\n        height: 90px;\n    }\n</style>\n\n<div id=\"banner-region-{{ _.id }}\">\n    <script src=\"https://www.paypalobjects.com/upstream/partner.js\"\n            data-pp_payer_id=\"{{ merchant_id }}\"\n            data-pp_bn_code=\"BigCommerce_Cart_PPC\"\n            data-pp_dimensions=\"728x90\"\n            data-pp_format=\"HTML\"\n            data-pp_presentation_types=\"HTML\"\n            data-pp_page=\"CartPage\"\n            data-pp_country_code=\"{{ country_code }}\"\n            data-pp_locale=\"{{ locale }}\"\n            data-pp_partner_version=\"2\">\n    </script>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.343Z",
      "date_modified": "2024-02-27T02:43:46.343Z",
      "kind": "bt-cartpage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "342e5c4f-e54e-41f9-b884-7d96fae24984",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "baa427f6-7d58-4711-bd5c-77e751e802c1",
      "name": "Braintree PayPal Credit Banner - Home Page (728x90)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{../_.id}} {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n    width: 100%;\n    max-width: 728px;\n  }\n</style>\n\n<div id=\"banner-region-{{../_.id}}\">\n  <div\n    data-pp-message\n    data-pp-style-layout=\"flex\"\n    data-pp-style-color=\"{{#if ../style.bt-homepage-fullbanner.data-pp-style-color}}{{../style.bt-homepage-fullbanner.data-pp-style-color}}{{else}}white{{/if}}\"\n    data-pp-style-ratio=\"{{#if ../style.bt-homepage-fullbanner.data-pp-style-ratio}}{{../style.bt-homepage-fullbanner.data-pp-style-ratio}}{{else}}8x1{{/if}}\"\n    id=\"paypal-bt-homepage-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    (function() {\n      const script = document.createElement('script');\n      script.type = 'text/javascript';\n      script.src = 'https://unpkg.com/@paypal/paypal-js@3.1.6/dist/paypal.browser.min.js';\n      script.integrity = 'sha384-ixafT4J9V4G5ltzIzhcmeyo1TvVbMf3eH73We7APYo338opA0FlgZ5VtBzMnMEEg';\n      script.nonce = '{{nonce}}';\n      script.crossOrigin = 'anonymous';\n\n      script.onload = function() {\n        if (window.paypalLoadScript) {\n          const params = {\n            'client-id': '{{merchant.clientId}}',\n            components: ['messages'],\n            'data-partner-attribution-id': '{{../attribution_id}}',\n            'merchant-id': '{{merchant.merchantId}}',\n            'data-namespace': 'paypalMessages'\n          };\n\n          window.paypalLoadScript(params)\n            .then(paypal => {\n              paypal.Messages({ placement: 'home' }).render('#paypal-bt-homepage-messaging-banner');\n            });\n        }\n      };\n\n      const container = document.getElementById(`banner-region-{{../_.id}}`);\n\n      if (container) {\n        container.appendChild(script);\n      }\n    })();\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2024-02-27T02:43:46.359Z",
      "date_modified": "2024-02-27T02:43:46.359Z",
      "kind": "bt-homepage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "0e76f727-03c5-4d6a-9c6c-81b3a254bd19",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "c926dd50-cdff-47ba-8f91-db8b36911a2b",
      "name": "Braintree PayPal Credit Banner - Product Details Page (234x60)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{../_.id}} {\n    display: block;\n    width: 100%;\n    max-width: 545px;\n  }\n</style>\n\n<div id=\"banner-region-{{../_.id}}\">\n  <div\n    data-pp-style-logo-position=\"{{#if ../style.bt-proddetailspage-quarterbanner.data-pp-style-logo-position}}{{../style.bt-proddetailspage-quarterbanner.data-pp-style-logo-position}}{{else}}left{{/if}}\"\n    data-pp-style-logo-type=\"{{#if ../style.bt-proddetailspage-quarterbanner.data-pp-style-logo-type}}{{../style.bt-proddetailspage-quarterbanner.data-pp-style-logo-type}}{{else}}inline{{/if}}\"\n    data-pp-style-text-color=\"{{#if ../style.bt-proddetailspage-quarterbanner.data-pp-style-text-color}}{{../style.bt-proddetailspage-quarterbanner.data-pp-style-text-color}}{{else}}black{{/if}}\"\n    data-pp-style-text-size=\"{{#if ../style.bt-proddetailspage-quarterbanner.data-pp-style-text-size}}{{../style.bt-proddetailspage-quarterbanner.data-pp-style-text-size}}{{else}}12{{/if}}\"\n    id=\"paypal-bt-proddetails-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    (function () {\n      // Price container with data-product-price-with-tax has bigger priority for product amount calculations\n      const priceContainer = document.querySelector('[data-product-price-with-tax]')?.innerText\n              ? document.querySelector('[data-product-price-with-tax]')\n              : document.querySelector('[data-product-price-without-tax]');\n\n      if (priceContainer) {\n        renderMessageIfPossible();\n\n        const config = {\n          childList: true,    // Observe direct child elements\n          subtree: true,      // Observe all descendants\n          attributes: false,  // Do not observe attribute changes\n        };\n\n        const observer = new MutationObserver((mutationsList) => {\n          if (mutationsList.length > 0) {\n            renderMessageIfPossible();\n          }\n        });\n\n        observer.observe(priceContainer, config);\n      }\n\n      function renderMessageIfPossible() {\n        const amount = getPriceAmount(priceContainer.innerText)[0];\n\n        if (amount) {\n          renderMessage(amount);\n        }\n      }\n\n      function getPriceAmount(text) {\n        /*\n         INFO:\n         - extracts a string from a pattern: [number][separator][number][separator]...\n           [separator] - any symbol but a digit, including whitespaces\n         */\n        const pattern = /\\d+(?:[^\\d]\\d+)+(?!\\d)/g;\n        const matches = text.match(pattern);\n        const results = [];\n\n        // if there are no matches\n        if (!matches?.length) {\n          const amount = text.replace(/[^\\d]/g, '');\n\n          if (!amount) return results;\n\n          results.push(amount);\n\n          return results;\n        }\n\n        matches.forEach(str => {\n          const sepIndexes = [];\n\n          for (let i = 0; i < str.length; i++) {\n            // find separator index and push to array\n            if (!/\\d/.test(str[i])) {\n              sepIndexes.push(i);\n            }\n          }\n          if (sepIndexes.length === 0) return;\n          // assume the last separator is the decimal\n          const decIndex = sepIndexes[sepIndexes.length - 1];\n\n          // cut the substr to the separator with replacing non-digit chars\n          const intSubstr = str.slice(0, decIndex).replace(/[^\\d]/g, '');\n          // cut the substr after the separator with replacing non-digit chars\n          const decSubstr = str.slice(decIndex + 1).replace(/[^\\d]/g, '');\n\n          if (!intSubstr) return;\n\n          const amount = decSubstr ? `${intSubstr}.${decSubstr}` : intSubstr;\n          // to get floating point number\n          const number = parseFloat(amount);\n\n          if (!isNaN(number)) {\n            results.push(String(number));\n          }\n        });\n\n        return results;\n      }\n\n      function renderMessage(amount) {\n        const messagesOptions = {\n          amount,\n          placement: 'product',\n        };\n\n        const paypalScriptParams = {\n          'client-id': '{{merchant.clientId}}',\n          components: ['messages'],\n          'data-partner-attribution-id': '{{../attribution_id}}',\n          'merchant-id': '{{merchant.merchantId}}',\n          'data-namespace': 'paypalMessages'\n        };\n\n        if (!window.paypalMessages) {\n          loadScript(paypalScriptParams).then(() => {\n            window.paypalMessages.Messages(messagesOptions).render('#paypal-bt-proddetails-messaging-banner');\n          });\n        } else {\n          window.paypalMessages.Messages(messagesOptions).render('#paypal-bt-proddetails-messaging-banner');\n        }\n      }\n\n      function loadScript(paypalScriptParams) {\n        return new Promise((resolve, reject) => {\n          const script = document.createElement('script');\n          script.type = 'text/javascript';\n          script.src = 'https://unpkg.com/@paypal/paypal-js@3.1.6/dist/paypal.browser.min.js';\n          script.integrity = 'sha384-ixafT4J9V4G5ltzIzhcmeyo1TvVbMf3eH73We7APYo338opA0FlgZ5VtBzMnMEEg';\n          script.crossOrigin = 'anonymous';\n          script.nonce = '{{nonce}}';\n\n          script.onload = () =>\n            window.paypalLoadScript(paypalScriptParams).then(() => resolve());\n\n          script.onerror = event => {\n            reject(event);\n          };\n\n          document.head.appendChild(script);\n        });\n      }\n    }());\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2024-02-27T02:43:46.375Z",
      "date_modified": "2024-02-27T02:43:46.375Z",
      "kind": "bt-proddetailspage-quarterbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "1ae805d5-4171-4a2c-a401-4692717c0a1b",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "4d24b94e-feb2-4692-a73e-4b300c8091f2",
      "name": "Zip Cart Page Credit Banner",
      "schema": [],
      "template": "{{#if currency_code '===' _.context.activeCurrencyCode}}\n<style>\n  #banner-region-{{ _.id }} {\n    margin-bottom: 2rem;\n  }\n\n  #banner-region-{{ _.id }} p.zip-container {\n    display: flex;\n    justify-content: flex-end;\n    width: 100%;\n  }\n</style>\n<div id=\"banner-region-{{ _.id }}\">\n  <script\n    type=\"text/javascript\"\n    src=\"https://static.zipmoney.com.au/lib/js/zm-widget-js/dist/zip-widget.min.js\"\n    defer>\n  </script>\n{{#if country_code '===' 'au'}}\n  <div data-zm-merchant=\"{{ merchant_id }}\"\n       data-env=\"{{ environment }}\"\n       data-zm-region=\"{{ country_code }}\"\n       data-zm-display-inline=\"true\"\n       data-zm-widget=\"popup\"\n       data-zm-asset=\"productwidget\"\n       data-zm-popup-asset=\"termsdialog\">\n  </div>\n{{else}}\n{{#or (if country_code '===' 'nz') (if country_code '===' 'gb')}}\n  <script>\n    (function (window) {\n      \"use strict\";\n\n      var xhr = new XMLHttpRequest();\n      xhr.addEventListener('readystatechange', function () {\n        if (xhr.readyState === XMLHttpRequest.DONE) {\n          window.zip_widget_merchantId = '{{ merchant_id }}';\n          window.zip_widget_env = '{{ environment }}';\n          window.zip_widget_region = '{{ country_code }}';\n        {{#if minimum_price}}\n          window.zip_widget_min_price = '{{ minimum_price }}';\n        {{/if}}\n        {{#if maximum_price}}\n          window.zip_widget_max_price = '{{ maximum_price }}';\n        {{/if}}\n          window.zip_widget_product_widget =\"#zip-nz-gb-widget\";\n          window.zip_widget_display_inline = true;\n          try {\n            window.zip_widget_product_price = JSON.parse(xhr.responseText)[0].cartAmount;\n          } catch (err) {}\n          window.Zip.Widget.render();\n        }\n      });\n      xhr.open('GET', window.location.origin + '/api/storefront/carts');\n      xhr.send();\n\n      var dataCartTotals = document.querySelector('[data-cart-totals]');\n    \n      if (dataCartTotals) {\n        var removeSymbols = function removeSymbols(price) {\n          return ['NZ$', '$', '£', ','].reduce(function (price, symbol) {\n            return price.replaceAll(symbol, '');\n          }, price);\n        };\n        var priceRegExp = /^\\d+\\.\\d{2}/;\n\n        var observer = new MutationObserver(function (mutationsList) {\n          mutationsList.forEach(function (mutation) {\n            var cartTotalGrandTotal = mutation.target.querySelector('.cart-total-grandTotal');\n\n            window.zip_widget_product_price = cartTotalGrandTotal ? priceRegExp.exec(removeSymbols(cartTotalGrandTotal.innerText))[0] : '0';\n            window.Zip.Widget.render();\n          });\n        });\n\n        observer.observe(dataCartTotals, { childList: true });\n      }\n    })(window);\n  </script>\n  <div id=\"zip-nz-gb-widget\"></div>\n{{/or}}\n{{/if}}\n</div>\n{{/if}}\n",
      "date_created": "2024-02-27T02:43:46.392Z",
      "date_modified": "2024-02-27T02:43:46.392Z",
      "kind": "zip-cartpage-productwidget",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "8de8882b-69cc-4691-9e22-c2b4fb8afb7c",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "e542e842-33d1-4629-8b28-05ae2d5f6ddc",
      "name": "Zip Home Page Credit Banner",
      "schema": [],
      "template": "{{#if currency_code '===' _.context.activeCurrencyCode}}\n<div id=\"banner-region-{{ _.id }}\">\n  <script\n    type=\"text/javascript\"\n    src=\"https://static.zipmoney.com.au/lib/js/zm-widget-js/dist/zip-widget.min.js\"\n    defer>\n  </script>\n  <div data-zm-merchant=\"{{ merchant_id }}\"\n       data-env=\"{{ environment }}\"\n       data-zm-region=\"{{ country_code }}\"\n       data-zm-display-inline=\"true\"\n       data-zm-widget=\"popup\"\n       data-zm-asset=\"stripbanner\"\n       data-zm-popup-asset=\"termsdialog\">\n  </div>\n</div>\n{{/if}}\n",
      "date_created": "2024-02-27T02:43:46.407Z",
      "date_modified": "2024-02-27T02:43:46.407Z",
      "kind": "zip-homepage-stripbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "3072eaa8-33f4-44ef-a1e8-b45430933937",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "f88fe9c5-a235-4d34-82b0-be8aee7c2f5b",
      "name": "Zip Product Page Credit Banner",
      "schema": [],
      "template": "{{#if currency_code '===' _.context.activeCurrencyCode}}\n<div id=\"banner-region-{{ _.id }}\">\n  <script\n    type=\"text/javascript\"\n    src=\"https://static.zipmoney.com.au/lib/js/zm-widget-js/dist/zip-widget.min.js\"\n    defer>\n  </script>\n{{#if country_code '===' 'au'}}\n  <div data-zm-merchant=\"{{ merchant_id }}\"\n       data-env=\"{{ environment }}\"\n       data-zm-region=\"{{ country_code }}\" \n       data-zm-display-inline=\"true\" \n       data-zm-widget=\"popup\" \n       data-zm-asset=\"productwidget\"\n       data-zm-popup-asset=\"termsdialog\">\n  </div>\n{{else}}\n{{#or (if country_code '===' 'nz') (if country_code '===' 'gb')}}\n  <script>\n    (function (window) {\n      \"use strict\";\n\n      window.zip_widget_merchantId = '{{ merchant_id }}';\n      window.zip_widget_env = '{{ environment }}';\n      window.zip_widget_region = '{{ country_code }}';\n    {{#if minimum_price}}\n      window.zip_widget_min_price = '{{ minimum_price }}';\n    {{/if}}\n    {{#if maximum_price}}\n      window.zip_widget_max_price = '{{ maximum_price }}';\n    {{/if}}\n      window.zip_widget_product_widget =\"#zip-nz-gb-widget\";\n      window.zip_widget_display_inline = true;\n      var productPrice = document.querySelector('.productView .price.price--withoutTax') || document.querySelector('.productView .price.price--withTax');\n\n      if (productPrice) {\n        var removeSymbols = function removeSymbols(price) {\n          return ['NZ$', '$', '£', ','].reduce(function (price, symbol) {\n            return price.replaceAll(symbol, '');\n          }, price);\n        };\n        var numberRegExp = '\\\\d+\\\\.\\\\d{2}';\n        var priceRangeRegExp = new RegExp('^' + numberRegExp + '\\\\s\\\\-\\\\s' + numberRegExp +'$');\n        var priceRegExp = new RegExp('^' + numberRegExp +'$');\n        var parsePrice = function parsePrice(price) {\n          var priceNumber = removeSymbols(price);\n\n          return priceRangeRegExp.test(priceNumber) ? '0' : priceRegExp.exec(priceNumber)[0];\n        };\n\n        var observer = new MutationObserver(function (mutationsList) {\n          mutationsList.forEach(function (mutation) {\n            window.zip_widget_product_price = parsePrice(mutation.target.innerText);\n            window.Zip.Widget.render();\n          });\n        });\n\n        observer.observe(productPrice, { childList: true });\n\n        window.zip_widget_product_price = parsePrice(productPrice.innerText);\n      }\n    })(window);\n  </script>\n  <div id=\"zip-nz-gb-widget\"></div>\n{{/or}}\n{{/if}}\n</div>\n{{/if}}\n",
      "date_created": "2024-02-27T02:43:46.421Z",
      "date_modified": "2024-02-27T02:43:46.421Z",
      "kind": "zip-productpage-productbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "ab78b192-3da1-4e9e-b19d-91fb5f336030",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "642a87e8-e69b-44ae-b920-391112b35cf7",
      "name": "PayPal Commerce Credit Banner - Cart Page (728x90)",
      "schema": [],
      "template": "<style media=\"screen\">\n  #banner-region-{{ _.id }} {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n    width: 100%;\n    max-width: 728px;\n  }\n</style>\n\n<div id=\"banner-region-{{ _.id }}\">\n  <div data-pp-style-layout=\"flex\"\n       data-pp-style-color=\"white\"\n       data-pp-style-ratio=\"8x1\"\n       id=\"paypal-commerce-cart-messaging-banner\">\n  </div>\n</div>\n\n",
      "date_created": "2024-02-27T02:43:46.434Z",
      "date_modified": "2024-02-27T02:43:46.434Z",
      "kind": "ppc-cartpage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "39985091-3a09-42c9-99c7-e702fdcb8e4a",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "876caf9a-e24e-46b2-9614-284036721444",
      "name": "PayPal Commerce Credit Banner - Home Page (728x90)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{ ../_.id }} {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n    width: 100%;\n    max-width: 728px;\n  }\n</style>\n\n<div id=\"banner-region-{{ ../_.id }}\">\n  <div\n    data-pp-message\n    data-pp-style-layout=\"flex\"\n    data-pp-style-color=\"{{#if ../style.ppc-homepage-fullbanner.data-pp-style-color}}{{../style.ppc-homepage-fullbanner.data-pp-style-color}}{{else}}white{{/if}}\"\n    data-pp-style-ratio=\"{{#if ../style.ppc-homepage-fullbanner.data-pp-style-ratio}}{{../style.ppc-homepage-fullbanner.data-pp-style-ratio}}{{else}}8x1{{/if}}\"\n    id=\"paypal-commerce-homepage-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    function renderMessage() {\n      const params = {\n        'merchant-id': '{{merchant.merchantId}}',\n        'client-id': '{{merchant.clientId}}',\n        'data-partner-attribution-id': '{{../attribution_id}}',\n        components: ['messages', 'buttons'],\n      };\n\n      if (params['client-id'] && params['merchant-id']) {\n        window.paypalLoadScript(params)\n          .then(paypal => {\n            paypal.Messages({placement: 'home'}).render('#paypal-commerce-homepage-messaging-banner');\n          });\n      }\n    }\n\n    (function() {\n      if (window.paypalLoadScript) {\n        renderMessage();\n        return;\n      }\n\n      const script = document.createElement('script');\n      script.type = 'text/javascript';\n      script.src = 'https://unpkg.com/@paypal/paypal-js@4.1.0/dist/iife/paypal-js.min.js';\n      script.onload = function() {\n        if (window.paypalLoadScript) {\n          renderMessage();\n        }\n      };\n\n      const container = document.getElementById(`banner-region-{{ ../_.id }}`);\n\n      if (container) {\n        container.appendChild(script);\n      }\n    })();\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2024-02-27T02:43:46.447Z",
      "date_modified": "2024-02-27T02:43:46.447Z",
      "kind": "ppc-homepage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "e09c4e9d-e938-43a8-8d8d-465b5e72e99a",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "66f3bf48-9863-4e22-887a-cb5b7ca50efe",
      "name": "PayPal Commerce Credit Banner - Product Details Page (545x60)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{ ../_.id }} {\n    display: block;\n    width: 100%;\n    max-width: 545px;\n  }\n</style>\n\n<div id=\"banner-region-{{ ../_.id }}\">\n  <div\n    data-pp-message\n    data-pp-style-logo-position=\"{{#if ../style.ppc-proddetailspage-quarterbanner.data-pp-style-logo-position}}{{../style.ppc-proddetailspage-quarterbanner.data-pp-style-logo-position}}{{else}}left{{/if}}\"\n    data-pp-style-logo-type=\"{{#if ../style.ppc-proddetailspage-quarterbanner.data-pp-style-logo-type}}{{../style.ppc-proddetailspage-quarterbanner.data-pp-style-logo-type}}{{else}}inline{{/if}}\"\n    data-pp-style-text-color=\"{{#if ../style.ppc-proddetailspage-quarterbanner.data-pp-style-text-color}}{{../style.ppc-proddetailspage-quarterbanner.data-pp-style-text-color}}{{else}}black{{/if}}\"\n    data-pp-style-text-size=\"{{#if ../style.ppc-proddetailspage-quarterbanner.data-pp-style-text-size}}{{../style.ppc-proddetailspage-quarterbanner.data-pp-style-text-size}}{{else}}12{{/if}}\"\n    id=\"paypal-commerce-proddetails-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    (function () {\n      // Price container with data-product-price-with-tax has bigger priority for product amount calculations\n      const priceContainer = document.querySelector('[data-product-price-with-tax]')?.innerText\n        ? document.querySelector('[data-product-price-with-tax]')\n        : document.querySelector('[data-product-price-without-tax]');\n\n      if (priceContainer) {\n        renderMessageIfPossible();\n\n        const config = {\n          childList: true,    // Observe direct child elements\n          subtree: true,      // Observe all descendants\n          attributes: false,  // Do not observe attribute changes\n        };\n\n        const observer = new MutationObserver((mutationsList) => {\n          if (mutationsList.length > 0) {\n            renderMessageIfPossible();\n          }\n        });\n\n        observer.observe(priceContainer, config);\n      }\n\n      function renderMessageIfPossible() {\n        const amount = getPriceAmount(priceContainer.innerText)[0];\n\n        if (amount) {\n          renderMessage({ amount });\n        }\n      }\n\n      function getPriceAmount(text) {\n        /*\n         INFO:\n         - extracts a string from a pattern: [number][separator][number][separator]...\n           [separator] - any symbol but a digit, including whitespaces\n         */\n        const pattern = /\\d+(?:[^\\d]\\d+)+(?!\\d)/g;\n        const matches = text.match(pattern);\n        const results = [];\n\n        // if there are no matches\n        if (!matches?.length) {\n          const amount = text.replace(/[^\\d]/g, '');\n\n          if (!amount) return results;\n\n          results.push(amount);\n\n          return results;\n        }\n\n        matches.forEach(str => {\n          const sepIndexes = [];\n\n          for (let i = 0; i < str.length; i++) {\n            // find separator index and push to array\n            if (!/\\d/.test(str[i])) {\n              sepIndexes.push(i);\n            }\n          }\n          if (sepIndexes.length === 0) return;\n          // assume the last separator is the decimal\n          const decIndex = sepIndexes[sepIndexes.length - 1];\n\n          // cut the substr to the separator with replacing non-digit chars\n          const intSubstr = str.slice(0, decIndex).replace(/[^\\d]/g, '');\n          // cut the substr after the separator with replacing non-digit chars\n          const decSubstr = str.slice(decIndex + 1).replace(/[^\\d]/g, '');\n\n          if (!intSubstr) return;\n\n          const amount = decSubstr ? `${intSubstr}.${decSubstr}` : intSubstr;\n          // to get floating point number\n          const number = parseFloat(amount);\n\n          if (!isNaN(number)) {\n            results.push(String(number));\n          }\n        });\n\n        return results;\n      }\n\n      function loadScript(src, attributes) {\n        return new Promise((resolve, reject) => {\n          const scriptTag = document.createElement('script');\n\n          if (attributes) {\n            Object.keys(attributes)\n                    .forEach(key => {\n                      scriptTag.setAttribute(key, attributes[key]);\n                    });\n          }\n\n          scriptTag.type = 'text/javascript';\n          scriptTag.src = src;\n\n          scriptTag.onload = () => resolve();\n          scriptTag.onerror = event => {\n            reject(event);\n          };\n\n          document.head.appendChild(scriptTag);\n        });\n      }\n\n      function renderMessage(objectParams) {\n        const paypalSdkScriptConfig = getPayPalSdkScriptConfig();\n\n        const options = transformConfig(paypalSdkScriptConfig.options);\n        const attributes = transformConfig(paypalSdkScriptConfig.attributes);\n\n        const messageProps = { placement: 'product', ...objectParams };\n\n        const renderPayPalMessagesComponent = (paypal) => {\n          paypal.Messages(messageProps).render('#paypal-commerce-proddetails-messaging-banner');\n        };\n\n        if (options['client-id'] && options['merchant-id']) {\n          if (!window.paypalMessages) {\n            const paypalSdkUrl = 'https://www.paypal.com/sdk/js';\n            const scriptQuery = new URLSearchParams(options).toString();\n            const scriptSrc = `${paypalSdkUrl}?${scriptQuery}`;\n\n            loadScript(scriptSrc, attributes).then(() => {\n              renderPayPalMessagesComponent(window.paypalMessages);\n            });\n          } else {\n            renderPayPalMessagesComponent(window.paypalMessages)\n          }\n        }\n      }\n\n      function transformConfig(config) {\n        let transformedConfig = {};\n\n        const keys = Object.keys(config);\n\n        keys.forEach((key) => {\n          const value = config[key];\n\n          if (\n                  value === undefined ||\n                  value === null ||\n                  value === '' ||\n                  (Array.isArray(value) && value.length === 0)\n          ) {\n            return;\n          }\n\n          transformedConfig = {\n            ...transformedConfig,\n            [key]: Array.isArray(value) ? value.join(',') : value,\n          };\n        });\n\n        return transformedConfig;\n      }\n\n      function getPayPalSdkScriptConfig() {\n        const attributionId = '{{ ../attribution_id }}';\n        const currencyCode = '{{ merchant.currency }}';\n        const clientId = '{{ merchant.clientId }}';\n        const merchantId = '{{ merchant.merchantId}}';\n        const isDeveloperModeApplicable = '{{ merchant.isDeveloperModeApplicable }}'.indexOf('true') !== -1;\n        const buyerCountry = '{{ merchant.buyerCountry }}';\n\n        return {\n          options: {\n            'client-id': clientId,\n            'merchant-id': merchantId,\n            components: ['messages'],\n            currency: currencyCode,\n            ...(isDeveloperModeApplicable && { 'buyer-country': buyerCountry }),\n          },\n          attributes: {\n            'data-namespace': 'paypalMessages',\n            'data-partner-attribution-id': attributionId,\n          },\n        };\n      }\n    })();\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2024-02-27T02:43:46.464Z",
      "date_modified": "2024-02-27T02:43:46.464Z",
      "kind": "ppc-proddetailspage-quarterbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "390c4281-6b31-4391-b25b-f55c62f0da2a",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "8ecd9f48-2d69-4b85-9592-f6675dd0fffb",
      "name": "PayPal Commerce Credit Banner - Cart Page (465x59)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{ ../_.id }} {\n    display: block;\n    clear: both;\n    float: right;\n    margin-bottom: 15px;\n    width: 460px;\n    max-width: 100%;\n  }\n</style>\n\n<div id=\"banner-region-{{ ../_.id }}\">\n  <div\n    data-pp-style-logo-position=\"{{#if ../style.ppc-cartpage-quarterbanner.data-pp-style-logo-position}}{{../style.ppc-cartpage-quarterbanner.data-pp-style-logo-position}}{{else}}left{{/if}}\"\n    data-pp-style-logo-type=\"{{#if ../style.ppc-cartpage-quarterbanner.data-pp-style-logo-type}}{{../style.ppc-cartpage-quarterbanner.data-pp-style-logo-type}}{{else}}inline{{/if}}\"\n    data-pp-style-text-color=\"{{#if ../style.ppc-cartpage-quarterbanner.data-pp-style-text-color}}{{../style.ppc-cartpage-quarterbanner.data-pp-style-text-color}}{{else}}black{{/if}}\"\n    data-pp-style-text-size=\"{{#if ../style.ppc-cartpage-quarterbanner.data-pp-style-text-size}}{{../style.ppc-cartpage-quarterbanner.data-pp-style-text-size}}{{else}}12{{/if}}\"\n    id=\"paypal-commerce-cart-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    (function () {\n      const dataCartTotals = document.querySelector('[data-cart-totals]');\n\n      if (dataCartTotals) {\n        renderMessageIfPossible();\n\n        const config = {\n          childList: true,\n        };\n\n        const observer = new MutationObserver((mutationsList) => {\n          mutationsList.forEach(function (mutation) {\n            if (getGrandTotalContainer(mutation.target)) {\n              renderMessageIfPossible();\n            }\n          });\n        });\n\n        observer.observe(dataCartTotals, config);\n      }\n\n      function renderMessageIfPossible() {\n        const amount = getPriceAmount(getGrandTotalContainer(dataCartTotals).innerText)[0];\n\n        if (amount) {\n          renderMessage({\n            amount\n          });\n        }\n      }\n\n      function getPriceAmount(text) {\n        /*\n         INFO:\n         - extracts a string from a pattern: [number][separator][number][separator]...\n           [separator] - any symbol but a digit, including whitespaces\n         */\n        const pattern = /\\d+(?:[^\\d]\\d+)+(?!\\d)/g;\n        const matches = text.match(pattern);\n        const results = [];\n\n        // if there are no matches\n        if (!matches?.length) {\n          const amount = text.replace(/[^\\d]/g, '');\n\n          if (!amount) return results;\n\n          results.push(amount);\n\n          return results;\n        }\n\n        matches.forEach(str => {\n          const sepIndexes = [];\n\n          for (let i = 0; i < str.length; i++) {\n            // find separator index and push to array\n            if (!/\\d/.test(str[i])) {\n              sepIndexes.push(i);\n            }\n          }\n          if (sepIndexes.length === 0) return;\n          // assume the last separator is the decimal\n          const decIndex = sepIndexes[sepIndexes.length - 1];\n\n          // cut the substr to the separator with replacing non-digit chars\n          const intSubstr = str.slice(0, decIndex).replace(/[^\\d]/g, '');\n          // cut the substr after the separator with replacing non-digit chars\n          const decSubstr = str.slice(decIndex + 1).replace(/[^\\d]/g, '');\n\n          if (!intSubstr) return;\n\n          const amount = decSubstr ? `${intSubstr}.${decSubstr}` : intSubstr;\n          // to get floating point number\n          const number = parseFloat(amount);\n\n          if (!isNaN(number)) {\n            results.push(String(number));\n          }\n        });\n\n        return results;\n      }\n\n      function getGrandTotalContainer(parent) {\n        if (parent) {\n          return parent.querySelector('.cart-total-grandTotal');\n        }\n\n        return document.querySelector('.cart-total-grandTotal');\n      }\n\n      function loadScript(src, attributes) {\n        return new Promise((resolve, reject) => {\n          const scriptTag = document.createElement('script');\n\n          if (attributes) {\n            Object.keys(attributes)\n                    .forEach(key => {\n                      scriptTag.setAttribute(key, attributes[key]);\n                    });\n          }\n\n          scriptTag.type = 'text/javascript';\n          scriptTag.src = src;\n\n          scriptTag.onload = () => resolve();\n          scriptTag.onerror = event => {\n            reject(event);\n          };\n\n          document.head.appendChild(scriptTag);\n        });\n      }\n\n      function renderMessage(objectParams) {\n        const paypalSdkScriptConfig = getPayPalSdkScriptConfig();\n\n        const options = transformConfig(paypalSdkScriptConfig.options);\n        const attributes = transformConfig(paypalSdkScriptConfig.attributes);\n\n        const messageProps = { placement: 'cart', style: 'text', ...objectParams };\n\n        const renderPayPalMessagesComponent = (paypal) => {\n          paypal.Messages(messageProps).render('#paypal-commerce-cart-messaging-banner');\n        };\n\n        if (options['client-id'] && options['merchant-id']) {\n          if (!window.paypalMessages) {\n            const paypalSdkUrl = 'https://www.paypal.com/sdk/js';\n            const scriptQuery = new URLSearchParams(options).toString();\n            const scriptSrc = `${paypalSdkUrl}?${scriptQuery}`;\n\n            loadScript(scriptSrc, attributes).then(() => {\n              renderPayPalMessagesComponent(window.paypalMessages);\n            });\n          } else {\n            renderPayPalMessagesComponent(window.paypalMessages)\n          }\n        }\n      }\n\n      function transformConfig(config) {\n        let transformedConfig = {};\n\n        const keys = Object.keys(config);\n\n        keys.forEach((key) => {\n          const value = config[key];\n\n          if (\n                  value === undefined ||\n                  value === null ||\n                  value === '' ||\n                  (Array.isArray(value) && value.length === 0)\n          ) {\n            return;\n          }\n\n          transformedConfig = {\n            ...transformedConfig,\n            [key]: Array.isArray(value) ? value.join(',') : value,\n          };\n        });\n\n        return transformedConfig;\n      }\n\n      function getPayPalSdkScriptConfig() {\n        const attributionId = '{{ ../attribution_id }}';\n        const currencyCode = '{{ merchant.currency }}';\n        const clientId = '{{ merchant.clientId }}';\n        const merchantId = '{{ merchant.merchantId}}';\n        const isDeveloperModeApplicable = '{{ merchant.isDeveloperModeApplicable }}'.indexOf('true') !== -1;\n        const buyerCountry = '{{ merchant.buyerCountry }}';\n\n        return {\n          options: {\n            'client-id': clientId,\n            'merchant-id': merchantId,\n            components: ['messages'],\n            currency: currencyCode,\n            ...(isDeveloperModeApplicable && { 'buyer-country': buyerCountry }),\n          },\n          attributes: {\n            'data-namespace': 'paypalMessages',\n            'data-partner-attribution-id': attributionId,\n          },\n        };\n      }\n    })();\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2024-02-27T02:43:46.478Z",
      "date_modified": "2024-02-27T02:43:46.478Z",
      "kind": "ppc-cartpage-quarterbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "8df07f98-be13-4ce3-b84f-3a5fe2627866",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "c5fdbdf3-7378-4b97-ae73-8c518245dede",
      "name": "Quadpay Cart Page Credit Banner",
      "schema": [],
      "template": "<div id=\"banner-region-{{ _.id }}\">\n  <span id=\"bc-qp-hidden-amount\" style=\"display: none;\"></span>\n</div>\n<script>\n  \"use strict\";\n\n  (function () {\n    var widget = document.createElement('quadpay-widget-v3');\n    widget.setAttribute('alignment', 'right');\n    widget.setAttribute('amountSelector', '#bc-qp-hidden-amount');\n  {{#if minimum_price}}\n    widget.setAttribute('min', '{{ minimum_price }}');\n  {{/if}}\n  {{#if maximum_price}}\n    widget.setAttribute('max', '{{ maximum_price }}');\n  {{/if}}\n\n    var xhr = new XMLHttpRequest();\n    xhr.addEventListener('readystatechange', function () {\n      if (xhr.readyState === XMLHttpRequest.DONE) {\n        try {\n          widget.setAttribute('amount', JSON.parse(xhr.responseText)[0].cartAmount);\n        } catch (err) {}\n\n        var script = document.createElement('script');\n        script.src = 'https://cdn.quadpay.com/v1/quadpay.js';\n\n        var bannerRegion = document.getElementById('banner-region-{{ _.id }}');\n        bannerRegion.appendChild(script);\n        bannerRegion.appendChild(widget);\n        bannerRegion.style.marginBottom = '2rem';\n      }\n    });\n    xhr.open('GET', window.location.origin + '/api/storefront/carts');\n    xhr.send();\n  })();\n</script>\n<script>\n  \"use strict\";\n\n  (function () {\n    var dataCartTotals = document.querySelector('[data-cart-totals]');\n\n    if (dataCartTotals) {\n      var hiddenAmount = document.getElementById('bc-qp-hidden-amount');\n\n      var observer = new MutationObserver(function (mutationsList) {\n        mutationsList.forEach(function (mutation) {\n          var cartTotalGrandTotal = mutation.target.querySelector('.cart-total-grandTotal');\n\n          hiddenAmount.innerText = cartTotalGrandTotal ? cartTotalGrandTotal.innerText : '0';\n        });\n      });\n\n      observer.observe(dataCartTotals, { childList: true });\n    }\n  })();\n</script>\n",
      "date_created": "2024-02-27T02:43:46.492Z",
      "date_modified": "2024-02-27T02:43:46.492Z",
      "kind": "quadpay-cartpage-productwidget",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "4fdb8360-6ba4-4bc9-8829-6a0a27dda1a1",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "6b86a5d8-8a9a-4dd2-8866-d9c8fdc31b51",
      "name": "Quadpay Home Page Credit Banner",
      "schema": [],
      "template": "<div id=\"banner-region-{{ _.id }}\" style=\"padding: 1rem 0;\">\n  <script src=\"https://cdn.quadpay.com/v1/quadpay.js\"></script>\n  <quadpay-widget-v3\n    alignment=\"center\"\n    displayMode=\"logoFirst\"\n  {{#if minimum_price}}\n    min=\"{{ minimum_price }}\"\n  {{/if}}\n    widgetVerbiage=\"4-easy-payments\"\n  ></quadpay-widget-v3>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.505Z",
      "date_modified": "2024-02-27T02:43:46.505Z",
      "kind": "quadpay-homepage-stripbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "5ed2b3fa-a796-4eb2-8b1d-1fcd26d1be18",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "d5ceee13-af7a-492e-851c-3c17c4dc93f0",
      "name": "Quadpay Product Page Credit Banner",
      "schema": [],
      "template": "<div id=\"banner-region-{{ _.id }}\">\n  <span id=\"bc-qp-hidden-amount\" style=\"display: none;\"></span>\n</div>\n<script>\n  \"use strict\";\n\n  (function () {\n    var widget = document.createElement('quadpay-widget-v3');\n  {{#if minimum_price}}\n    widget.setAttribute('min', '{{ minimum_price }}');\n  {{/if}}\n  {{#if maximum_price}}\n    widget.setAttribute('max', '{{ maximum_price }}');\n  {{/if}}  \n\n    var productPrice = document.querySelector('.productView .price.price--withoutTax');\n\n    if (productPrice) {\n      var hiddenAmount = document.getElementById('bc-qp-hidden-amount');\n      var isPriceRange = function isPriceRange(price) {\n        return /^\\$\\d+\\.\\d{2}\\s\\-\\s\\$\\d+\\.\\d{2}$/.test(price.replaceAll(',', ''));\n      };\n\n      var observer = new MutationObserver(function (mutationsList) {\n        mutationsList.forEach(function (mutation) {\n          hiddenAmount.innerText = isPriceRange(mutation.target.innerText) ? '0' : mutation.target.innerText;\n        });\n      });\n\n      observer.observe(productPrice, { childList: true });\n\n      widget.setAttribute('amount', isPriceRange(productPrice.innerText) ? '0' : productPrice.innerText);\n      widget.setAttribute('amountSelector', '#bc-qp-hidden-amount');\n    }\n\n    var script = document.createElement('script');\n    script.src = 'https://cdn.quadpay.com/v1/quadpay.js';\n\n    var bannerRegion = document.getElementById('banner-region-{{ _.id }}');\n    bannerRegion.appendChild(script);\n    bannerRegion.appendChild(widget);\n    bannerRegion.style.marginBottom = '1rem';\n  })();\n</script>\n",
      "date_created": "2024-02-27T02:43:46.518Z",
      "date_modified": "2024-02-27T02:43:46.518Z",
      "kind": "quadpay-productpage-productbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "4b18ec13-e381-483a-8f2a-e1c538a59236",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "a8b2bf50-bd8d-4187-8723-b295632f500e",
      "name": "Openpay Cart Page Credit Banner",
      "schema": [],
      "template": "<style>\n  #banner-region-{{ _.id }} opy-cart {\n    display: flex;\n    justify-content: flex-end;\n    width: 100%;\n  }\n</style>\n<div id=\"banner-region-{{ _.id }}\">\n{{#if country_code '===' 'US'}}\n  <script src=\"https://widgets.opy.com/lib/openpay-widgets.min.js\"></script>\n{{else}}\n  <script src=\"https://widgets.openpay.com.au/lib/openpay-widgets.min.js\"></script>\n{{/if}}\n  <script>\n    (function () {\n      \"use strict\";\n\n      var widget = document.createElement('opy-cart');\n      widget.setAttribute('logo', '{{ cart_widget_logo }}');\n      widget.setAttribute('more-info-text', '{{ cart_widget_more_info_text }}');\n      widget.setAttribute('info-icon', '{{ cart_widget_info_icon }}');\n\n      document.addEventListener('DOMContentLoaded', function () {\n        var xhr = new XMLHttpRequest();\n        var dataCartTotals = document.querySelector('[data-cart-totals]');\n\n        OpenpayWidgets.Config({\n          region: '{{ country_code }}',\n          currency: '{{ currency }}',\n          planTiers: [{{ plan_tiers }}],\n          minEligibleAmount: {{ min_elegible_amount }},\n          maxEligibleAmount: {{ max_elegible_amount }},\n          type: 'Online'\n        });\n\n        xhr.addEventListener('readystatechange', function () {\n          if (xhr.readyState === XMLHttpRequest.DONE) {\n            try {\n              widget.setAttribute('amount', JSON.parse(xhr.responseText)[0].cartAmount);\n            } catch (err) { }\n\n            var bannerRegion = document.getElementById('banner-region-{{ _.id }}');\n            bannerRegion.appendChild(widget);\n            bannerRegion.style.marginBottom = '2rem';\n          }\n        });\n        xhr.open('GET', window.location.origin + '/api/storefront/carts');\n        xhr.send();\n\n        if (dataCartTotals) {\n          var removeSymbols = function removeSymbols(price) {\n            return ['AUD', 'A$', 'AU$', '$', '£', ','].reduce(function (price, symbol) {\n              return price.replaceAll(symbol, '');\n            }, price);\n          };\n          var priceRegExp = /^\\d+\\.\\d{2}/;\n\n          var observer = new MutationObserver(function (mutationsList) {\n            mutationsList.forEach(function (mutation) {\n              var cartTotalGrandTotal = mutation.target.querySelector('.cart-total-grandTotal');\n              var amount = cartTotalGrandTotal ? priceRegExp.exec(removeSymbols(cartTotalGrandTotal.innerText))[0] : '0'\n\n              widget.setAttribute('amount', amount);\n            });\n          });\n\n          observer.observe(dataCartTotals, { childList: true });\n        }\n      }, false);\n    })();\n  </script>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.534Z",
      "date_modified": "2024-02-27T02:43:46.534Z",
      "kind": "opy-cartpage-cartwidget",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "0e32231a-0557-40ec-8c5c-2dac514f63f4",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "9c1c5b3f-3102-4df2-a063-05728b4c13e3",
      "name": "Openpay Home Page Credit Banner",
      "schema": [],
      "template": "<div id=\"banner-region-{{ _.id }}\">\n{{#if country_code '===' 'US'}}\n  <script src=\"https://widgets.opy.com/lib/openpay-widgets.min.js\"></script>\n{{else}}\n  <script src=\"https://widgets.openpay.com.au/lib/openpay-widgets.min.js\"></script>\n{{/if}}\n  <script>\n    (function () {\n      \"use strict\";\n      document.addEventListener('DOMContentLoaded', function () {\n        OpenpayWidgets.Config({\n          region: '{{ country_code }}',\n          currency: '{{ currency }}',\n          planTiers: [{{ plan_tiers }}],\n          minEligibleAmount: {{ min_elegible_amount }},\n          maxEligibleAmount: {{ max_elegible_amount }},\n          type: 'Online'\n        });\n      }, false);\n    })();\n  </script>\n  <opy-info-belt color=\"amber\"></opy-info-belt>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.548Z",
      "date_modified": "2024-02-27T02:43:46.548Z",
      "kind": "opy-homepage-infobelt",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "6e47b21a-3c76-4837-9a4c-7fb83c14f77f",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "5f2f70bc-30fc-4152-9466-a3ca68995d43",
      "name": "Openpay Product Page Credit Banner",
      "schema": [],
      "template": "<div id=\"banner-region-{{ _.id }}\">\n{{#if country_code '===' 'US'}}\n  <script src=\"https://widgets.opy.com/lib/openpay-widgets.min.js\"></script>\n{{else}}\n  <script src=\"https://widgets.openpay.com.au/lib/openpay-widgets.min.js\"></script>\n{{/if}}\n  <script>\n      (function () {\n        \"use strict\";\n\n        var bannerRegion = document.getElementById('banner-region-{{ _.id }}');\n        var widget = document.createElement('opy-product-page');\n        widget.setAttribute('logo', '{{ product_widget_logo }}');\n        widget.setAttribute('logo-position', '{{ product_widget_logo_position }}');\n        widget.setAttribute('more-info-text', '{{ product_widget_more_info_text }}');\n        widget.setAttribute('info-icon', '{{ product_widget_info_icon }}');\n\n        document.addEventListener('DOMContentLoaded', function () {\n          var productPrice = document.querySelector('.productView .price.price--withoutTax') || document.querySelector('.productView .price.price--withTax');\n\n          OpenpayWidgets.Config({\n            region: '{{ country_code }}',\n            currency: '{{ currency }}',\n            planTiers: [{{ plan_tiers }}],\n            minEligibleAmount: {{ min_elegible_amount }},\n            maxEligibleAmount: {{ max_elegible_amount }},\n            type: 'Online'\n          });\n\n          if (productPrice) {\n            var removeSymbols = function removeSymbols(price) {\n              return ['AUD', 'A$', 'AU$', '$', '£', ','].reduce(function (price, symbol) {\n                return price.replaceAll(symbol, '');\n              }, price);\n            };\n            var numberRegExp = '\\\\d+\\\\.\\\\d{2}';\n            var priceRangeRegExp = new RegExp('^' + numberRegExp + '\\\\s\\\\-\\\\s' + numberRegExp +'$');\n            var priceRegExp = new RegExp('^' + numberRegExp +'$');\n            var parsePrice = function parsePrice(price) {\n              var priceNumber = removeSymbols(price);\n\n              return priceRangeRegExp.test(priceNumber) ? '0' : priceRegExp.exec(priceNumber)[0];\n            };\n\n            var observer = new MutationObserver(function (mutationsList) {\n              mutationsList.forEach(function (mutation) {\n                widget.setAttribute('amount', parsePrice(mutation.target.innerText));\n              });\n            });\n            observer.observe(productPrice, { childList: true });\n\n            widget.setAttribute('amount', parsePrice(productPrice.innerText));\n          }\n\n          bannerRegion.appendChild(widget);\n        }, false);\n      })();\n  </script>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.563Z",
      "date_modified": "2024-02-27T02:43:46.563Z",
      "kind": "opy-productpage-productwidget",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "fe989f99-2527-434b-8b15-2eeece029433",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "3e76a9c5-eecd-4356-a03e-d4094f73bbbb",
      "name": "Braintree PayPal Credit Banner - Cart Page (460x58)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{../_.id}} {\n    display: block;\n    clear: both;\n    float: right;\n    margin-bottom: 15px;\n    width: 460px;\n    max-width: 100%;\n  }\n</style>\n\n<div id=\"banner-region-{{../_.id}}\">\n  <div\n    data-pp-style-logo-position=\"{{#if ../style.bt-cartpage-quarterbanner.data-pp-style-logo-position}}{{../style.bt-cartpage-quarterbanner.data-pp-style-logo-position}}{{else}}left{{/if}}\"\n    data-pp-style-logo-type=\"{{#if ../style.bt-cartpage-quarterbanner.data-pp-style-logo-type}}{{../style.bt-cartpage-quarterbanner.data-pp-style-logo-type}}{{else}}inline{{/if}}\"\n    data-pp-style-text-color=\"{{#if ../style.bt-cartpage-quarterbanner.data-pp-style-text-color}}{{../style.bt-cartpage-quarterbanner.data-pp-style-text-color}}{{else}}black{{/if}}\"\n    data-pp-style-text-size=\"{{#if ../style.bt-cartpage-quarterbanner.data-pp-style-text-size}}{{../style.bt-cartpage-quarterbanner.data-pp-style-text-size}}{{else}}12{{/if}}\"\n    id=\"paypal-bt-cart-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    (function () {\n      const dataCartTotals = document.querySelector('[data-cart-totals]');\n\n      if (dataCartTotals) {\n        renderMessageIfPossible();\n\n        const config = {\n          childList: true,    // Observe direct child elements\n          subtree: true,      // Observe all descendants\n          attributes: false,  // Do not observe attribute changes\n        };\n\n        const observer = new MutationObserver((mutationsList) => {\n          if (mutationsList.length > 0) {\n            renderMessageIfPossible();\n          }\n        });\n\n        observer.observe(dataCartTotals, config);\n      }\n\n      function renderMessageIfPossible() {\n        const amount = getPriceAmount(dataCartTotals.innerText)[0];\n\n        if (amount) {\n          renderMessage(amount);\n        }\n      }\n\n      function getPriceAmount(text) {\n        /*\n         INFO:\n         - extracts a string from a pattern: [number][separator][number][separator]...\n           [separator] - any symbol but a digit, including whitespaces\n         */\n        const pattern = /\\d+(?:[^\\d]\\d+)+(?!\\d)/g;\n        const matches = text.match(pattern);\n        const results = [];\n\n        // if there are no matches\n        if (!matches?.length) {\n          const amount = text.replace(/[^\\d]/g, '');\n\n          if (!amount) return results;\n\n          results.push(amount);\n\n          return results;\n        }\n\n        matches.forEach(str => {\n          const sepIndexes = [];\n\n          for (let i = 0; i < str.length; i++) {\n            // find separator index and push to array\n            if (!/\\d/.test(str[i])) {\n              sepIndexes.push(i);\n            }\n          }\n          if (sepIndexes.length === 0) return;\n          // assume the last separator is the decimal\n          const decIndex = sepIndexes[sepIndexes.length - 1];\n\n          // cut the substr to the separator with replacing non-digit chars\n          const intSubstr = str.slice(0, decIndex).replace(/[^\\d]/g, '');\n          // cut the substr after the separator with replacing non-digit chars\n          const decSubstr = str.slice(decIndex + 1).replace(/[^\\d]/g, '');\n\n          if (!intSubstr) return;\n\n          const amount = decSubstr ? `${intSubstr}.${decSubstr}` : intSubstr;\n          // to get floating point number\n          const number = parseFloat(amount);\n\n          if (!isNaN(number)) {\n            results.push(String(number));\n          }\n        });\n\n        return results;\n      }\n\n      function renderMessage(amount) {\n        const messagesOptions = {\n          amount,\n          placement: 'cart',\n        };\n\n        const paypalScriptParams = {\n          'client-id': '{{merchant.clientId}}',\n          components: ['messages'],\n          'data-partner-attribution-id': '{{../attribution_id}}',\n          'merchant-id': '{{merchant.merchantId}}',\n          'data-namespace': 'paypalMessages'\n        };\n\n        if (!window.paypalMessages) {\n          loadScript(paypalScriptParams).then(() => {\n            window.paypalMessages.Messages(messagesOptions).render('#paypal-bt-cart-messaging-banner');\n          });\n        } else {\n          window.paypalMessages.Messages(messagesOptions).render('#paypal-bt-cart-messaging-banner');\n        }\n      }\n\n      function loadScript(paypalScriptParams) {\n        return new Promise((resolve, reject) => {\n          const script = document.createElement('script');\n          script.type = 'text/javascript';\n          script.src = 'https://unpkg.com/@paypal/paypal-js@3.1.6/dist/paypal.browser.min.js';\n          script.integrity = 'sha384-ixafT4J9V4G5ltzIzhcmeyo1TvVbMf3eH73We7APYo338opA0FlgZ5VtBzMnMEEg';\n          script.crossOrigin = 'anonymous';\n          script.nonce = '{{nonce}}';\n\n          script.onload = () =>\n                  window.paypalLoadScript(paypalScriptParams).then(() => resolve());\n\n          script.onerror = event => {\n            reject(event);\n          };\n\n          document.head.appendChild(script);\n        });\n      }\n    }());\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2024-02-27T02:43:46.577Z",
      "date_modified": "2024-02-27T02:43:46.577Z",
      "kind": "bt-cartpage-quarterbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "17bf799e-e7ed-49cb-b702-4dd5acd7d22d",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "27739fcd-ec84-4300-b850-21bf122a012b",
      "name": "Text",
      "schema": [
        {
          "type": "hidden",
          "settings": [
            {
              "id": "textContent",
              "default": "You can use this widget to input text into the page."
            }
          ]
        },
        {
          "type": "tab",
          "label": "Design",
          "sections": [
            {
              "settings": [
                {
                  "type": "typography",
                  "label": "Text style",
                  "id": "textStyle",
                  "default": "custom",
                  "typeMeta": {
                    "conditionalSettings": [
                      {
                        "condition": "custom",
                        "settings": [
                          {
                            "type": "select",
                            "label": "Font family",
                            "id": "fontFamily",
                            "default": "inherit",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Theme Default",
                                  "value": "inherit"
                                },
                                {
                                  "label": "Arial",
                                  "value": "Arial, sans-serif"
                                },
                                {
                                  "label": "Tahoma",
                                  "value": "Tahoma, sans-serif"
                                },
                                {
                                  "label": "Verdana",
                                  "value": "Verdana, sans-serif"
                                },
                                {
                                  "label": "Lucida",
                                  "value": "Lucida, sans-serif"
                                },
                                {
                                  "label": "Times New Roman",
                                  "value": "Times New Roman, serif"
                                },
                                {
                                  "label": "Courier",
                                  "value": "Courier, serif"
                                },
                                {
                                  "label": "Georgia",
                                  "value": "Georgia, serif"
                                },
                                {
                                  "label": "Palatino",
                                  "value": "Palatino, serif"
                                }
                              ]
                            }
                          },
                          {
                            "type": "select",
                            "label": "Font weight",
                            "id": "fontWeight",
                            "default": "500",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Thin",
                                  "value": "100"
                                },
                                {
                                  "label": "Extra Light (Ultra Light)",
                                  "value": "200"
                                },
                                {
                                  "label": "Light",
                                  "value": "300"
                                },
                                {
                                  "label": "Normal",
                                  "value": "400"
                                },
                                {
                                  "label": "Medium",
                                  "value": "500"
                                },
                                {
                                  "label": "Semi Bold (Demi Bold)",
                                  "value": "600"
                                },
                                {
                                  "label": "Bold",
                                  "value": "700"
                                },
                                {
                                  "label": "Extra Bold (Ultra Bold)",
                                  "value": "800"
                                },
                                {
                                  "label": "Black (Heavy)",
                                  "value": "900"
                                }
                              ]
                            }
                          },
                          {
                            "type": "number",
                            "label": "Font size",
                            "id": "fontSize",
                            "default": {
                              "value": 24,
                              "type": "px"
                            },
                            "typeMeta": {
                              "parseType": "integer"
                            }
                          },
                          {
                            "type": "color",
                            "label": "Text color",
                            "id": "fontColor",
                            "default": "#333333"
                          }
                        ]
                      }
                    ]
                  }
                },
                {
                  "type": "alignment",
                  "label": "Alignment",
                  "id": "alignment",
                  "default": {
                    "horizontal": "center",
                    "vertical": "middle"
                  },
                  "typeMeta": {
                    "display": "horizontal"
                  }
                },
                {
                  "type": "boxModel",
                  "label": "Margin",
                  "id": "margin",
                  "default": {
                    "top": {
                      "value": "0",
                      "type": "px"
                    },
                    "right": {
                      "value": "0",
                      "type": "px"
                    },
                    "bottom": {
                      "value": "0",
                      "type": "px"
                    },
                    "left": {
                      "value": "0",
                      "type": "px"
                    }
                  }
                },
                {
                  "type": "boxModel",
                  "label": "Padding",
                  "id": "padding",
                  "default": {
                    "top": {
                      "value": "0",
                      "type": "px"
                    },
                    "right": {
                      "value": "0",
                      "type": "px"
                    },
                    "bottom": {
                      "value": "0",
                      "type": "px"
                    },
                    "left": {
                      "value": "0",
                      "type": "px"
                    }
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<style>\n    .sd-simple-text-{{_.id}} {\n      padding-top: {{padding.top.value}}{{padding.top.type}};\n      padding-right: {{padding.right.value}}{{padding.right.type}};\n      padding-bottom: {{padding.bottom.value}}{{padding.bottom.type}};\n      padding-left: {{padding.left.value}}{{padding.left.type}};\n\n      margin-top: {{margin.top.value}}{{margin.top.type}};\n      margin-right: {{margin.right.value}}{{margin.right.type}};\n      margin-bottom: {{margin.bottom.value}}{{margin.bottom.type}};\n      margin-left: {{margin.left.value}}{{margin.left.type}};\n\n      {{#if textStyle '===' undefined}}\n        color: {{fontColor}};\n        font-family: {{fontFamily}};\n        font-weight: {{fontWeight}};\n        font-size: {{fontSize.value}}{{fontSize.type}};\n        min-height: {{fontSize.value}}{{fontSize.type}};\n      {{/if}}\n    }\n\n    .sd-simple-text-{{_.id}} * {\n      margin: 0;\n      padding: 0;\n\n      {{#unless textStyle '!==' 'custom'}}\n        color: {{fontColor}};\n        font-family: {{fontFamily}};\n        font-weight: {{fontWeight}};\n        font-size: {{fontSize.value}}{{fontSize.type}};\n        min-height: {{fontSize.value}}{{fontSize.type}};\n      {{/unless}}\n\n      {{#if textStyle '===' 'default'}}\n        color: #333333;\n        font-family: Montserrat;\n        font-weight: 500;\n        font-size: 24px;\n      {{/if}}\n    }\n\n    .sd-simple-text-{{_.id}} {\n      {{#if alignment.horizontal '===' 'center'}}\n        text-align: center;\n      {{else if alignment.horizontal '===' 'left'}}\n        text-align: left;\n      {{else if alignment.horizontal '===' 'right'}}\n        text-align: right;\n      {{/if}}\n    }\n\n    #sd-simple-text-editable-{{_.id}} {\n      min-width: 14px;\n      line-height: 1.5;\n      display: inline-block;\n    }\n\n    #sd-simple-text-editable-{{_.id}}[data-edit-mode=\"true\"]:hover,\n    #sd-simple-text-editable-{{_.id}}[data-edit-mode=\"true\"]:active,\n    #sd-simple-text-editable-{{_.id}}[data-edit-mode=\"true\"]:focus {\n      outline: 1px dashed #3C64F4;\n    }\n\n    #sd-simple-text-editable-{{_.id}} strong,\n    #sd-simple-text-editable-{{_.id}} strong * {\n      font-weight: bold;\n    }\n\n    #sd-simple-text-editable-{{_.id}} a {\n      color: inherit;\n    }\n\n    @supports (color: color-mix(in srgb, #000 50%, #fff 50%)) {\n      #sd-simple-text-editable-{{_.id}} a:hover,\n      #sd-simple-text-editable-{{_.id}} a:active,\n      #sd-simple-text-editable-{{_.id}} a:focus {\n        color: color-mix(in srgb, currentColor 68%, white 32%);\n      }\n    }\n\n    @supports not (color: color-mix(in srgb, #000 50%, #fff 50%)) {\n      #sd-simple-text-editable-{{_.id}} a:hover,\n      #sd-simple-text-editable-{{_.id}} a:active,\n      #sd-simple-text-editable-{{_.id}} a:focus {\n        filter: brightness(2);\n      }\n    }\n</style>\n\n<div class=\"sd-simple-text-{{_.id}} {{#if textStyle}}{{#if textStyle '!==' 'custom'}} {{textStyle}}{{/if}}{{/if}}\">\n  <div id=\"sd-simple-text-editable-{{_.id}}\" data-edit-mode=\"{{_.pageBuilderData.previewState.editMode}}\">\n    {{{textContent}}}\n  </div>\n</div>\n\n{{#if _.context.isEditorMode '===' true}}\n    <script type=\"text/javascript\" nonce=\"{{nonce}}\">\n        (function () {\n            var editMode = false;\n            var selector = \"sd-simple-text-editable-{{_.id}}\";\n            var element = document.getElementById(selector);\n            if (!element) { return; }\n\n            function initializeContentEditableText () {\n                if (window.BigCommerce && window.BigCommerce.inlineEditor && window.BigCommerce.sendWidgetUpdate) {\n                    editMode = true;\n                    window.BigCommerce.inlineEditor.init({\n                        selector: \"#\" + selector,\n                        editMode: editMode,\n                        onBlur: function (content) {\n                            element.innerHtml = content;\n                            flushChanges(content);\n                        },\n                        onKeyup: flushChanges,\n                        toolbarItems: ['bold', 'italic', 'underline', 'strikethrough', 'link']\n                    });\n                }\n            };\n\n            function flushChanges(content) {\n                var props = {\n                    \"textContent\": content\n                };\n                window.BigCommerce.sendWidgetUpdate(props, \"{{_.id}}\");\n            }\n\n            function setEditMode(data) {\n                editMode = data.editMode;\n                element.dataset.editMode = editMode;\n\n                if (window.BigCommerce && window.BigCommerce.inlineEditor) {\n                    if (editMode) {\n                        initializeContentEditableText()\n                    } else {\n                        window.BigCommerce.inlineEditor.remove(\"#\" + selector);\n                    }\n                }\n            }\n\n            window.addEventListener('message', function (event) {\n                try {\n                    var data = JSON.parse(event.data);\n                } catch (error) {\n                    return;\n                }\n\n                [{\n                    action: 'sdk-loaded',\n                    initiator: 'PAGE_BUILDER',\n                    callback: initializeContentEditableText\n                },{\n                    action: 'toggle-edit-mode',\n                    initiator: 'PAGE_BUILDER',\n                    callback: setEditMode\n                }].forEach(function (handler) {\n                    if (data.action === handler.action && data.initiator === handler.initiator) {\n                        try { handler.callback(data); } catch (error) {}\n                    }\n                })\n            });\n\n            initializeContentEditableText();\n        })();\n    </script>\n{{/if}}\n",
      "date_created": "2024-02-27T02:43:46.594Z",
      "date_modified": "2024-02-27T02:43:46.594Z",
      "kind": "sd-simple-text",
      "storefront_api_query": "",
      "icon_name": "sd-text",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "34ab422f-26ed-473a-bbb1-6a672eaeca49",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "e78c7709-1d09-4144-9313-8d951b158bb5",
      "name": "Image",
      "schema": [
        {
          "type": "tab",
          "label": "Design",
          "sections": [
            {
              "label": "Image",
              "settings": [
                {
                  "type": "imageManager",
                  "id": "imageUrl",
                  "default": {
                    "src": "https://images.unsplash.com/photo-1487700160041-babef9c3cb55?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2000&q=80",
                    "type": "IMAGE_MANAGER"
                  }
                },
                {
                  "type": "select",
                  "label": "Image dimensions",
                  "id": "imageDimensionType",
                  "default": "auto",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Auto",
                        "value": "auto"
                      },
                      {
                        "label": "Custom",
                        "value": "custom"
                      }
                    ]
                  }
                },
                {
                  "type": "number",
                  "label": "Image height",
                  "id": "imageHeight",
                  "default": {
                    "value": 300,
                    "type": "px"
                  },
                  "typeMeta": {
                    "parseType": "integer"
                  },
                  "conditional": {
                    "key": "imageDimensionType",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Image fit",
                  "id": "imageFit",
                  "default": "fit",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Fill to box",
                        "value": "fill"
                      },
                      {
                        "label": "Fit to box",
                        "value": "fit"
                      }
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Image parallax",
                  "id": "imageParallax",
                  "default": "off",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Off",
                        "value": "off"
                      },
                      {
                        "label": "On",
                        "value": "on"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "imageFit",
                    "operator": "IN",
                    "value": [
                      "fill"
                    ]
                  }
                },
                {
                  "type": "range",
                  "label": "Image opacity",
                  "id": "imageOpacity",
                  "default": 100,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 0,
                      "max": 100,
                      "step": 1,
                      "unit": "%"
                    }
                  }
                },
                {
                  "type": "alignment",
                  "label": "Image align",
                  "id": "imageAlignment",
                  "default": {
                    "horizontal": "center",
                    "vertical": "middle"
                  },
                  "typeMeta": {
                    "display": "both"
                  }
                },
                {
                  "type": "boxModel",
                  "label": "Margin (px)",
                  "id": "containerMargin",
                  "default": {
                    "top": {
                      "value": "0",
                      "type": "px"
                    },
                    "right": {
                      "value": "0",
                      "type": "px"
                    },
                    "bottom": {
                      "value": "0",
                      "type": "px"
                    },
                    "left": {
                      "value": "0",
                      "type": "px"
                    }
                  }
                },
                {
                  "type": "boxModel",
                  "label": "Padding (px)",
                  "id": "containerPadding",
                  "default": {
                    "top": {
                      "value": "0",
                      "type": "px"
                    },
                    "right": {
                      "value": "0",
                      "type": "px"
                    },
                    "bottom": {
                      "value": "0",
                      "type": "px"
                    },
                    "left": {
                      "value": "0",
                      "type": "px"
                    }
                  }
                }
              ]
            },
            {
              "label": "Border",
              "settings": [
                {
                  "type": "select",
                  "label": "Border style",
                  "id": "borderStyle",
                  "default": "none",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "None",
                        "value": "none"
                      },
                      {
                        "label": "Solid",
                        "value": "solid"
                      },
                      {
                        "label": "Dotted",
                        "value": "dotted"
                      },
                      {
                        "label": "Dashed",
                        "value": "dashed"
                      },
                      {
                        "label": "Double",
                        "value": "double"
                      },
                      {
                        "label": "Groove",
                        "value": "groove"
                      },
                      {
                        "label": "Ridge",
                        "value": "ridge"
                      }
                    ]
                  }
                },
                {
                  "type": "color",
                  "label": "Border color",
                  "id": "borderColor",
                  "default": "#000000"
                },
                {
                  "type": "range",
                  "label": "Border thickness",
                  "id": "borderThickness",
                  "default": 1,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 0,
                      "max": 10,
                      "step": 1,
                      "unit": "px"
                    }
                  }
                }
              ]
            },
            {
              "label": "Link",
              "settings": [
                {
                  "type": "select",
                  "label": "Image link",
                  "id": "imageUrlType",
                  "default": "none",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "None",
                        "value": "none"
                      },
                      {
                        "label": "Link to URL",
                        "value": "url"
                      }
                    ]
                  }
                },
                {
                  "type": "input",
                  "id": "imageLink",
                  "typeMeta": {
                    "placeholder": "https://"
                  },
                  "conditional": {
                    "key": "imageUrlType",
                    "operator": "IN",
                    "value": [
                      "url"
                    ]
                  }
                }
              ]
            },
            {
              "label": "Seo",
              "settings": [
                {
                  "type": "input",
                  "label": "Alt text",
                  "id": "altText",
                  "default": ""
                }
              ]
            }
          ]
        }
      ],
      "template": "<style>\n    #sd-image-{{_.id}} {\n        display: flex;\n        align-items: center;\n        background: url('{{{imageUrl.src}}}') no-repeat;\n        opacity: calc({{imageOpacity}} / 100);\n\n        {{#if imageUrlType '!==' 'none'}}\n            cursor: pointer;\n        {{/if}}\n\n        {{#if imageFit '===' 'fill'}}\n            background-size: cover;\n            {{#if imageParallax '===' 'on'}}\n                background-attachment: fixed;\n            {{/if}}\n        {{else}}\n            background-size: contain;\n        {{/if}}\n\n        {{#if imageDimensionType '===' 'auto'}}\n            height: auto;\n        {{else}}\n            height: {{imageHeight.value}}{{imageHeight.type}};\n        {{/if}}\n\n        background-position:\n            {{#if imageAlignment.horizontal '===' 'center'}}\n                center\n            {{else if imageAlignment.horizontal '===' 'left'}}\n                left\n            {{else if imageAlignment.horizontal '===' 'right'}}\n                right\n            {{/if}}\n            {{#if imageAlignment.vertical '===' 'middle'}}\n                center\n            {{else if imageAlignment.vertical '===' 'top'}}\n                top\n            {{else if imageAlignment.vertical '===' 'bottom'}}\n                bottom\n            {{/if}};\n\n        {{#if borderStyle '!==' 'none'}}\n            border: {{borderThickness}}px {{borderStyle}} {{borderColor}};\n        {{/if}}\n\n        padding-top: {{containerPadding.top.value}}{{containerPadding.top.type}};\n        padding-right: {{containerPadding.right.value}}{{containerPadding.right.type}};\n        padding-bottom: {{containerPadding.bottom.value}}{{containerPadding.bottom.type}};\n        padding-left: {{containerPadding.left.value}}{{containerPadding.left.type}};\n\n        margin-top: {{containerMargin.top.value}}{{containerMargin.top.type}};\n        margin-right: {{containerMargin.right.value}}{{containerMargin.right.type}};\n        margin-bottom: {{containerMargin.bottom.value}}{{containerMargin.bottom.type}};\n        margin-left: {{containerMargin.left.value}}{{containerMargin.left.type}};\n    }\n\n    #sd-image-{{_.id}} * {\n        margin: 0px;\n    }\n\n    #sd-image-{{_.id}} img {\n        width: auto;\n        opacity: 0;\n\n        {{#if imageDimensionType '===' 'auto'}}\n            height: auto;\n        {{else}}\n            height: 100%;\n        {{/if}}\n    }\n\n    @media only screen and (max-width: 700px) {\n        #sd-image-{{_.id}} {\n            {{#if imageFit '===' 'fill'}}\n                {{#if imageParallax '===' 'on'}}\n                    background-attachment: scroll;\n                {{/if}}\n            {{/if}}\n        }\n    }\n</style>\n\n<div>\n    {{#if imageUrlType '!==' 'none'}}<a href=\"{{imageLink}}\" role=\"button\">{{/if}}\n    <div id=\"sd-image-{{_.id}}\" data-edit-mode=\"{{_.pageBuilderData.previewState.editMode}}\">\n        <img src=\"{{imageUrl.src}}\" alt=\"{{altText}}\">\n    </div>\n    {{#if imageUrlType '!==' 'none'}}</a>{{/if}}\n</div>\n\n\n{{#if _.context.isEditorMode '===' true}}\n    <script type=\"text/javascript\">\n        (function () {\n            var editMode = false;\n            var selector = \"sd-image-{{_.id}}\";\n            var element = document.getElementById(selector);\n            if (!element) { return; }\n\n            function initializeEditMode() {\n                if (window.BigCommerce && window.BigCommerce.inlineEditor) {\n                    editMode = true;\n                }\n            }\n\n            function setEditMode(data) {\n                editMode = data.editMode;\n                element.dataset.editMode = editMode;\n\n                initializeEditMode();\n            }\n\n            window.addEventListener('message', function (event) {\n                try {\n                    var data = JSON.parse(event.data);\n                } catch (error) {\n                    return;\n                }\n\n                [{\n                    action: 'sdk-loaded',\n                    initiator: 'PAGE_BUILDER',\n                    callback: initializeEditMode\n                },{\n                    action: 'toggle-edit-mode',\n                    initiator: 'PAGE_BUILDER',\n                    callback: setEditMode\n                }].forEach(function (handler) {\n                    if (data.action === handler.action && data.initiator === handler.initiator) {\n                        try { handler.callback(data); } catch (error) {}\n                    }\n                })\n            });\n\n            initializeEditMode();\n        })();\n    </script>\n{{/if}}\n",
      "date_created": "2024-02-27T02:43:46.614Z",
      "date_modified": "2024-02-27T02:43:46.614Z",
      "kind": "sd-simple-image-v2",
      "storefront_api_query": "",
      "icon_name": "sd-image",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "e15d5665-a3ab-442a-90e3-7dda0de178a4",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "ceee1550-ddb7-4dac-81ef-b53545035ad3",
      "name": "Hero Banner",
      "schema": [
        {
          "type": "hidden",
          "settings": [
            {
              "id": "title",
              "default": "Hero Banner Title"
            },
            {
              "id": "subtitle",
              "default": "Add a description for this hero banner. This is a great place to highlight a promotion."
            },
            {
              "id": "buttonText",
              "default": "Shop now"
            }
          ]
        },
        {
          "type": "tab",
          "label": "Design",
          "sections": [
            {
              "label": "Banner",
              "settings": [
                {
                  "type": "input",
                  "label": "Banner link",
                  "id": "bannerLink",
                  "default": "",
                  "typeMeta": {
                    "placeholder": "https://"
                  }
                },
                {
                  "type": "alignment",
                  "label": "Content align",
                  "id": "contentAlignment",
                  "default": {
                    "horizontal": "left"
                  },
                  "typeMeta": {
                    "display": "horizontal"
                  }
                },
                {
                  "type": "select",
                  "label": "Banner size",
                  "id": "containerHeight",
                  "default": "small",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Small",
                        "value": "small"
                      },
                      {
                        "label": "Medium",
                        "value": "medium"
                      },
                      {
                        "label": "Large",
                        "value": "large"
                      }
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Background",
                  "id": "backgroundType",
                  "default": "image",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Image",
                        "value": "image"
                      },
                      {
                        "label": "Color",
                        "value": "color"
                      },
                      {
                        "label": "Video",
                        "value": "video"
                      }
                    ]
                  }
                },
                {
                  "type": "color",
                  "label": "Background color",
                  "id": "backgroundColor",
                  "default": "#444444",
                  "conditional": {
                    "key": "backgroundType",
                    "operator": "IN",
                    "value": [
                      "color"
                    ]
                  }
                },
                {
                  "type": "imageManager",
                  "id": "imageUrl",
                  "default": {
                    "src": "https://images.unsplash.com/photo-1533038590840-1cde6e668a91?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2000&q=100",
                    "type": "IMAGE_MANAGER"
                  },
                  "conditional": {
                    "key": "backgroundType",
                    "operator": "IN",
                    "value": [
                      "image"
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Image fit",
                  "id": "imageFit",
                  "default": "fill",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Fill to box",
                        "value": "fill"
                      },
                      {
                        "label": "Fit to box",
                        "value": "fit"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "backgroundType",
                    "operator": "IN",
                    "value": [
                      "image"
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Image parallax",
                  "id": "imageParallax",
                  "default": "off",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "On",
                        "value": "on"
                      },
                      {
                        "label": "Off",
                        "value": "off"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "backgroundType",
                    "operator": "IN",
                    "value": [
                      "image"
                    ]
                  }
                },
                {
                  "type": "alignment",
                  "label": "Image align",
                  "id": "imageAlignment",
                  "default": {
                    "horizontal": "center",
                    "vertical": "middle"
                  },
                  "typeMeta": {
                    "display": "both"
                  },
                  "conditional": {
                    "key": "backgroundType",
                    "operator": "IN",
                    "value": [
                      "image"
                    ]
                  }
                },
                {
                  "type": "range",
                  "label": "Image opacity",
                  "id": "imageOpacity",
                  "default": 100,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 0,
                      "max": 100,
                      "step": 1,
                      "unit": "%"
                    }
                  },
                  "conditional": {
                    "key": "backgroundType",
                    "operator": "IN",
                    "value": [
                      "image"
                    ]
                  }
                },
                {
                  "type": "input",
                  "label": "Video URL (mp4)",
                  "id": "videoUrl",
                  "default": "",
                  "typeMeta": {
                    "placeholder": "https://"
                  },
                  "conditional": {
                    "key": "backgroundType",
                    "operator": "IN",
                    "value": [
                      "video"
                    ]
                  }
                }
              ]
            },
            {
              "label": "Text",
              "settings": [
                {
                  "type": "visibility",
                  "label": "Title",
                  "id": "titleVisible",
                  "default": "show"
                },
                {
                  "type": "typography",
                  "label": "Title style",
                  "id": "titleStyle",
                  "default": "default"
                },
                {
                  "type": "select",
                  "label": "Font family",
                  "id": "titleFontFamily",
                  "default": "inherit",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Theme Default",
                        "value": "inherit"
                      },
                      {
                        "label": "Arial",
                        "value": "Arial, sans-serif"
                      },
                      {
                        "label": "Tahoma",
                        "value": "Tahoma, sans-serif"
                      },
                      {
                        "label": "Verdana",
                        "value": "Verdana, sans-serif"
                      },
                      {
                        "label": "Lucida",
                        "value": "Lucida, sans-serif"
                      },
                      {
                        "label": "Times New Roman",
                        "value": "Times New Roman, serif"
                      },
                      {
                        "label": "Courier",
                        "value": "Courier, serif"
                      },
                      {
                        "label": "Georgia",
                        "value": "Georgia, serif"
                      },
                      {
                        "label": "Palatino",
                        "value": "Palatino, serif"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "titleStyle",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Font weight",
                  "id": "titleFontWeight",
                  "default": "400",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Thin",
                        "value": "100"
                      },
                      {
                        "label": "Extra Light (Ultra Light)",
                        "value": "200"
                      },
                      {
                        "label": "Light",
                        "value": "300"
                      },
                      {
                        "label": "Normal",
                        "value": "400"
                      },
                      {
                        "label": "Medium",
                        "value": "500"
                      },
                      {
                        "label": "Semi Bold (Demi Bold)",
                        "value": "600"
                      },
                      {
                        "label": "Bold",
                        "value": "700"
                      },
                      {
                        "label": "Extra Bold (Ultra Bold)",
                        "value": "800"
                      },
                      {
                        "label": "Black (Heavy)",
                        "value": "900"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "titleStyle",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "number",
                  "label": "Font size",
                  "id": "titleFontSize",
                  "default": {
                    "value": 36,
                    "type": "px"
                  },
                  "typeMeta": {
                    "parseType": "integer"
                  },
                  "conditional": {
                    "key": "titleStyle",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "visibility",
                  "label": "Description",
                  "id": "descriptionVisible",
                  "default": "show"
                },
                {
                  "type": "typography",
                  "label": "Description style",
                  "id": "descriptionStyle",
                  "default": "default"
                },
                {
                  "type": "select",
                  "label": "Font family",
                  "id": "descriptionFontFamily",
                  "default": "inherit",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Theme Default",
                        "value": "inherit"
                      },
                      {
                        "label": "Arial",
                        "value": "Arial, sans-serif"
                      },
                      {
                        "label": "Tahoma",
                        "value": "Tahoma, sans-serif"
                      },
                      {
                        "label": "Verdana",
                        "value": "Verdana, sans-serif"
                      },
                      {
                        "label": "Lucida",
                        "value": "Lucida, sans-serif"
                      },
                      {
                        "label": "Times New Roman",
                        "value": "Times New Roman, serif"
                      },
                      {
                        "label": "Courier",
                        "value": "Courier, serif"
                      },
                      {
                        "label": "Georgia",
                        "value": "Georgia, serif"
                      },
                      {
                        "label": "Palatino",
                        "value": "Palatino, serif"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "descriptionStyle",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Font weight",
                  "id": "descriptionFontWeight",
                  "default": "400",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Thin",
                        "value": "100"
                      },
                      {
                        "label": "Extra Light (Ultra Light)",
                        "value": "200"
                      },
                      {
                        "label": "Light",
                        "value": "300"
                      },
                      {
                        "label": "Normal",
                        "value": "400"
                      },
                      {
                        "label": "Medium",
                        "value": "500"
                      },
                      {
                        "label": "Semi Bold (Demi Bold)",
                        "value": "600"
                      },
                      {
                        "label": "Bold",
                        "value": "700"
                      },
                      {
                        "label": "Extra Bold (Ultra Bold)",
                        "value": "800"
                      },
                      {
                        "label": "Black (Heavy)",
                        "value": "900"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "descriptionStyle",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "number",
                  "label": "Font size",
                  "id": "descriptionFontSize",
                  "default": {
                    "value": 21,
                    "type": "px"
                  },
                  "typeMeta": {
                    "parseType": "integer"
                  },
                  "conditional": {
                    "key": "descriptionStyle",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "color",
                  "label": "Text color",
                  "id": "textColor",
                  "default": "#444444"
                },
                {
                  "type": "color",
                  "label": "Text color (mobile)",
                  "id": "mobileTextColor",
                  "default": "#444444"
                }
              ]
            },
            {
              "label": "Button",
              "settings": [
                {
                  "type": "visibility",
                  "label": "Button",
                  "id": "buttonVisible",
                  "default": "show"
                },
                {
                  "type": "typography",
                  "label": "Button font",
                  "id": "buttonFont",
                  "default": "default"
                },
                {
                  "type": "select",
                  "label": "Font family",
                  "id": "buttonFontFamily",
                  "default": "inherit",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Theme Default",
                        "value": "inherit"
                      },
                      {
                        "label": "Arial",
                        "value": "Arial, sans-serif"
                      },
                      {
                        "label": "Tahoma",
                        "value": "Tahoma, sans-serif"
                      },
                      {
                        "label": "Verdana",
                        "value": "Verdana, sans-serif"
                      },
                      {
                        "label": "Lucida",
                        "value": "Lucida, sans-serif"
                      },
                      {
                        "label": "Times New Roman",
                        "value": "Times New Roman, serif"
                      },
                      {
                        "label": "Courier",
                        "value": "Courier, serif"
                      },
                      {
                        "label": "Georgia",
                        "value": "Georgia, serif"
                      },
                      {
                        "label": "Palatino",
                        "value": "Palatino, serif"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "buttonFont",
                    "operator": "IN",
                    "value": [
                      "custom"
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Button style",
                  "id": "buttonStyle",
                  "default": "round",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Round",
                        "value": "round"
                      },
                      {
                        "label": "Square",
                        "value": "square"
                      },
                      {
                        "label": "Pill",
                        "value": "pill"
                      }
                    ]
                  },
                  "conditional": {
                    "key": "buttonVisible",
                    "operator": "IN",
                    "value": [
                      "show"
                    ]
                  }
                },
                {
                  "type": "color",
                  "label": "Button color",
                  "id": "buttonColor",
                  "default": "#444444",
                  "conditional": {
                    "key": "buttonVisible",
                    "operator": "IN",
                    "value": [
                      "show"
                    ]
                  }
                },
                {
                  "type": "color",
                  "label": "Button color (mobile)",
                  "id": "mobileButtonColor",
                  "default": "#444444",
                  "conditional": {
                    "key": "buttonVisible",
                    "operator": "IN",
                    "value": [
                      "show"
                    ]
                  }
                },
                {
                  "type": "color",
                  "label": "Button text color",
                  "id": "buttonTextColor",
                  "default": "rgba(255,255,255,1)",
                  "conditional": {
                    "key": "buttonVisible",
                    "operator": "IN",
                    "value": [
                      "show"
                    ]
                  }
                },
                {
                  "type": "color",
                  "label": "Button text (mobile)",
                  "id": "mobileButtonTextColor",
                  "default": "rgba(255,255,255,1)",
                  "conditional": {
                    "key": "buttonVisible",
                    "operator": "IN",
                    "value": [
                      "show"
                    ]
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<div id=\"sd-hero-image-{{_.id}}\"></div>\n\n<script type=\"text/javascript\" nonce=\"{{nonce}}\">\n    (function() {\n        const storefrontSRI = 'sha512-Coygf98lwr+It9LwvozxvqEt0D8WwMJ1AVzU1P67jdTOtw2Tymlqx7kGuCyCIlwoBn/iTXxZZ+BhPpn0NeVS3w==';\n        const pageBuilderSRI = 'sha512-Bjn2m/S6TpaUvyTA57wLaJyblfqrf6jvQYjTgrBQ7C7oFKwmlQq5VhxhlQGOQh0o9gLb8lbmFbTUjMvK8qzThg=='\n        const scriptPath = (build) => `https://microapps.bigcommerce.com/hero-image-widget-js/81aa85e9af30b1a25a734aa760e40ccd980d9383/${build}-bundle.js`;\n\n        function loadScript(src, sri, onload) {\n            const scriptTag = document.createElement('script');\n            scriptTag.type = 'text/javascript';\n            scriptTag.defer = true;\n            scriptTag.src = src;\n            scriptTag.integrity = sri;\n            scriptTag.crossOrigin = 'anonymous';\n            scriptTag.nonce = '{{nonce}}';\n            if (onload) {\n                scriptTag.onload = onload;\n            }\n            document.head.appendChild(scriptTag);\n        }\n\n        var widgetConfiguration = {{{json .}}};\n\n        {{#if _.context.isEditorMode '===' true}}\n            if (window.BigCommerce\n                    && window.BigCommerce.initializeHeroImage\n                    && typeof window.BigCommerce.initializeHeroImage === 'function'\n                    && window.BigCommerce.initializeHeroImagePageBuilderComm\n                    && typeof window.BigCommerce.initializeHeroImagePageBuilderComm === 'function') {\n                const heroImage = window.BigCommerce.initializeHeroImage(widgetConfiguration);\n                window.BigCommerce.initializeHeroImagePageBuilderComm(heroImage);\n            } else {\n                loadScript(scriptPath('storefront'), storefrontSRI, () => {\n                    const heroImage = window.BigCommerce.initializeHeroImage(widgetConfiguration);\n                    loadScript(scriptPath('pageBuilder'), pageBuilderSRI, () => {\n                        window.BigCommerce.initializeHeroImagePageBuilderComm(heroImage);\n                    });\n                });\n            }\n        {{else}}\n            if (window.BigCommerce && window.BigCommerce.initializeHeroImage && typeof window.BigCommerce.initializeHeroImage === 'function' ) {\n                window.BigCommerce.initializeHeroImage(widgetConfiguration).render();\n            } else {\n                loadScript(scriptPath('storefront'), storefrontSRI, () => window.BigCommerce.initializeHeroImage(widgetConfiguration).render());\n            }\n        {{/if}}\n    })();\n</script>\n",
      "date_created": "2024-02-27T02:43:46.639Z",
      "date_modified": "2024-02-27T02:43:46.639Z",
      "kind": "sd-hero-image-v2",
      "storefront_api_query": "",
      "icon_name": "sd-hero-image",
      "template_engine": "handlebars_v3",
      "client_rerender": true,
      "current_version_uuid": "a6cd8211-df37-4b72-a9ae-cd344f8cb28a",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "5ff18a25-ff75-42cc-a561-311d9b46f763",
      "name": "Carousel",
      "schema": [
        {
          "type": "array",
          "label": "Carousel",
          "id": "slides",
          "defaultCount": 2,
          "entryLabel": "Slide",
          "thumbnail": {
            "conditionKey": "background.type",
            "thumbnailConditions": {
              "image": {
                "type": "image",
                "valueKey": "background.imageUrl.src"
              },
              "color": {
                "type": "color",
                "valueKey": "background.color"
              }
            }
          },
          "schema": [
            {
              "type": "hidden",
              "settings": [
                {
                  "id": "displayTitle",
                  "default": "Carousel Title"
                },
                {
                  "id": "displaySubtitle",
                  "default": "Add a description for your carousel slide. You can use this to promote multiple sales."
                },
                {
                  "id": "displayButtonText",
                  "default": "Shop now"
                }
              ]
            },
            {
              "type": "tab",
              "label": "Content",
              "sections": [
                {
                  "settings": [
                    {
                      "type": "input",
                      "id": "slideLink",
                      "label": "Slide link",
                      "default": "",
                      "typeMeta": {
                        "placeholder": "https://"
                      }
                    },
                    {
                      "type": "alignment",
                      "label": "Content align",
                      "id": "contentAlignment",
                      "default": {
                        "horizontal": "center",
                        "vertical": "middle"
                      },
                      "typeMeta": {
                        "display": "horizontal"
                      }
                    },
                    {
                      "type": "color",
                      "label": "Text color",
                      "id": "textColor",
                      "default": "#444444"
                    },
                    {
                      "type": "element",
                      "label": "Background",
                      "id": "background",
                      "typeMeta": {
                        "controls": {
                          "advanced": {
                            "label": "Background",
                            "settings": [
                              {
                                "type": "select",
                                "label": "Background",
                                "id": "type",
                                "default": "image",
                                "typeMeta": {
                                  "selectOptions": [
                                    {
                                      "label": "Image",
                                      "value": "image"
                                    },
                                    {
                                      "label": "Color",
                                      "value": "color"
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "color",
                                "label": "Background color",
                                "id": "color",
                                "default": "#444444",
                                "conditional": {
                                  "key": "type",
                                  "operator": "IN",
                                  "value": [
                                    "color"
                                  ]
                                }
                              },
                              {
                                "type": "imageManager",
                                "id": "imageUrl",
                                "default": {
                                  "src": "https://images.unsplash.com/photo-1517840600399-c7c2ff4c0fb5?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1500&q=80",
                                  "type": "IMAGE_MANAGER"
                                },
                                "conditional": {
                                  "key": "type",
                                  "operator": "IN",
                                  "value": [
                                    "image"
                                  ]
                                }
                              },
                              {
                                "type": "select",
                                "label": "Image fit",
                                "id": "imageFit",
                                "default": "fill",
                                "typeMeta": {
                                  "selectOptions": [
                                    {
                                      "label": "Fill to box",
                                      "value": "fill"
                                    },
                                    {
                                      "label": "Fit to box",
                                      "value": "fit"
                                    }
                                  ]
                                },
                                "conditional": {
                                  "key": "type",
                                  "operator": "IN",
                                  "value": [
                                    "image"
                                  ]
                                }
                              },
                              {
                                "type": "alignment",
                                "label": "Image align",
                                "id": "imageAlignment",
                                "default": {
                                  "horizontal": "center",
                                  "vertical": "middle"
                                },
                                "typeMeta": {
                                  "display": "both"
                                },
                                "conditional": {
                                  "key": "type",
                                  "operator": "IN",
                                  "value": [
                                    "image"
                                  ]
                                }
                              },
                              {
                                "type": "range",
                                "label": "Image opacity",
                                "id": "imageOpacity",
                                "default": 100,
                                "typeMeta": {
                                  "rangeValues": {
                                    "min": 0,
                                    "max": 100,
                                    "step": 1,
                                    "unit": "%"
                                  }
                                },
                                "conditional": {
                                  "key": "type",
                                  "operator": "IN",
                                  "value": [
                                    "image"
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "element",
                      "label": "Box",
                      "id": "textBox",
                      "typeMeta": {
                        "controls": {
                          "visibility": {
                            "default": "show"
                          },
                          "advanced": {
                            "label": "Box style",
                            "settings": [
                              {
                                "type": "color",
                                "label": "Box color",
                                "id": "backgroundColor",
                                "default": "#FFFFFF"
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "element",
                      "label": "Title",
                      "id": "title",
                      "typeMeta": {
                        "controls": {
                          "visibility": {
                            "default": "show"
                          },
                          "advanced": {
                            "label": "Title style",
                            "settings": [
                              {
                                "type": "typography",
                                "label": "Title",
                                "id": "textStyle",
                                "default": "default"
                              },
                              {
                                "type": "select",
                                "label": "Font family",
                                "id": "fontFamily",
                                "default": "inherit",
                                "typeMeta": {
                                  "selectOptions": [
                                    {
                                      "label": "Theme Default",
                                      "value": "inherit"
                                    },
                                    {
                                      "label": "Arial",
                                      "value": "Arial, sans-serif"
                                    },
                                    {
                                      "label": "Tahoma",
                                      "value": "Tahoma, sans-serif"
                                    },
                                    {
                                      "label": "Verdana",
                                      "value": "Verdana, sans-serif"
                                    },
                                    {
                                      "label": "Lucida",
                                      "value": "Lucida, sans-serif"
                                    },
                                    {
                                      "label": "Times New Roman",
                                      "value": "Times New Roman, serif"
                                    },
                                    {
                                      "label": "Courier",
                                      "value": "Courier, serif"
                                    },
                                    {
                                      "label": "Georgia",
                                      "value": "Georgia, serif"
                                    },
                                    {
                                      "label": "Palatino",
                                      "value": "Palatino, serif"
                                    }
                                  ]
                                },
                                "conditional": {
                                  "key": "textStyle",
                                  "operator": "IN",
                                  "value": [
                                    "custom"
                                  ]
                                }
                              },
                              {
                                "type": "select",
                                "label": "Font weight",
                                "id": "fontWeight",
                                "default": "400",
                                "typeMeta": {
                                  "selectOptions": [
                                    {
                                      "label": "Thin",
                                      "value": "100"
                                    },
                                    {
                                      "label": "Extra Light (Ultra Light)",
                                      "value": "200"
                                    },
                                    {
                                      "label": "Light",
                                      "value": "300"
                                    },
                                    {
                                      "label": "Normal",
                                      "value": "400"
                                    },
                                    {
                                      "label": "Medium",
                                      "value": "500"
                                    },
                                    {
                                      "label": "Semi Bold (Demi Bold)",
                                      "value": "600"
                                    },
                                    {
                                      "label": "Bold",
                                      "value": "700"
                                    },
                                    {
                                      "label": "Extra Bold (Ultra Bold)",
                                      "value": "800"
                                    },
                                    {
                                      "label": "Black (Heavy)",
                                      "value": "900"
                                    }
                                  ]
                                },
                                "conditional": {
                                  "key": "textStyle",
                                  "operator": "IN",
                                  "value": [
                                    "custom"
                                  ]
                                }
                              },
                              {
                                "type": "number",
                                "label": "Font size",
                                "id": "fontSize",
                                "default": {
                                  "value": 36,
                                  "type": "px"
                                },
                                "typeMeta": {
                                  "parseType": "integer"
                                },
                                "conditional": {
                                  "key": "textStyle",
                                  "operator": "IN",
                                  "value": [
                                    "custom"
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "element",
                      "label": "Description",
                      "id": "description",
                      "typeMeta": {
                        "controls": {
                          "visibility": {
                            "default": "show"
                          },
                          "advanced": {
                            "label": "Description style",
                            "settings": [
                              {
                                "type": "typography",
                                "label": "Description",
                                "id": "textStyle",
                                "default": "default"
                              },
                              {
                                "type": "select",
                                "label": "Font family",
                                "id": "fontFamily",
                                "default": "inherit",
                                "typeMeta": {
                                  "selectOptions": [
                                    {
                                      "label": "Theme Default",
                                      "value": "inherit"
                                    },
                                    {
                                      "label": "Arial",
                                      "value": "Arial, sans-serif"
                                    },
                                    {
                                      "label": "Tahoma",
                                      "value": "Tahoma, sans-serif"
                                    },
                                    {
                                      "label": "Verdana",
                                      "value": "Verdana, sans-serif"
                                    },
                                    {
                                      "label": "Lucida",
                                      "value": "Lucida, sans-serif"
                                    },
                                    {
                                      "label": "Times New Roman",
                                      "value": "Times New Roman, serif"
                                    },
                                    {
                                      "label": "Courier",
                                      "value": "Courier, serif"
                                    },
                                    {
                                      "label": "Georgia",
                                      "value": "Georgia, serif"
                                    },
                                    {
                                      "label": "Palatino",
                                      "value": "Palatino, serif"
                                    }
                                  ]
                                },
                                "conditional": {
                                  "key": "textStyle",
                                  "operator": "IN",
                                  "value": [
                                    "custom"
                                  ]
                                }
                              },
                              {
                                "type": "select",
                                "label": "Font weight",
                                "id": "fontWeight",
                                "default": "400",
                                "typeMeta": {
                                  "selectOptions": [
                                    {
                                      "label": "Thin",
                                      "value": "100"
                                    },
                                    {
                                      "label": "Extra Light (Ultra Light)",
                                      "value": "200"
                                    },
                                    {
                                      "label": "Light",
                                      "value": "300"
                                    },
                                    {
                                      "label": "Normal",
                                      "value": "400"
                                    },
                                    {
                                      "label": "Medium",
                                      "value": "500"
                                    },
                                    {
                                      "label": "Semi Bold (Demi Bold)",
                                      "value": "600"
                                    },
                                    {
                                      "label": "Bold",
                                      "value": "700"
                                    },
                                    {
                                      "label": "Extra Bold (Ultra Bold)",
                                      "value": "800"
                                    },
                                    {
                                      "label": "Black (Heavy)",
                                      "value": "900"
                                    }
                                  ]
                                },
                                "conditional": {
                                  "key": "textStyle",
                                  "operator": "IN",
                                  "value": [
                                    "custom"
                                  ]
                                }
                              },
                              {
                                "type": "number",
                                "label": "Font size",
                                "id": "fontSize",
                                "default": {
                                  "value": 21,
                                  "type": "px"
                                },
                                "typeMeta": {
                                  "parseType": "integer"
                                },
                                "conditional": {
                                  "key": "textStyle",
                                  "operator": "IN",
                                  "value": [
                                    "custom"
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "element",
                      "label": "Button",
                      "id": "button",
                      "typeMeta": {
                        "controls": {
                          "visibility": {
                            "default": "show"
                          },
                          "advanced": {
                            "label": "Button style",
                            "settings": [
                              {
                                "type": "select",
                                "label": "Button shape",
                                "id": "shape",
                                "default": "round",
                                "typeMeta": {
                                  "selectOptions": [
                                    {
                                      "label": "Round",
                                      "value": "round"
                                    },
                                    {
                                      "label": "Square",
                                      "value": "square"
                                    },
                                    {
                                      "label": "Pill",
                                      "value": "pill"
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "color",
                                "label": "Button color",
                                "id": "buttonColor",
                                "default": "#444444"
                              },
                              {
                                "type": "color",
                                "label": "Button text color",
                                "id": "buttonTextColor",
                                "default": "#FFFFFF"
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "template": "<div id=\"sd-carousel-{{_.id}}\"></div>\n<script type=\"text/javascript\">\n  (function() {\n    const storefrontSRI = 'sha512-BbGuatgSwaX40tvu/XSbAUdPnRs/hpApC9vpxcayKfX6Zw0hyBlHXk2Wt+bWMqIgiyzb7/UkrVxmdgN0gHQcFg==';\n    const pageBuilderSRI = 'sha512-EpDq2X1ykYhLr5I4+csf0gDX6WedsYHjCrscqZZh/Y5aYkcoJ1R0QcXLzcDxsjXHcJvkCimmtVkCq6RsBrjbzg==';\n    const scriptPath = (build) => `https://microapps.bigcommerce.com/carousel-widget-v2-js/8fdf96db7173ca6e46533e7196c77d5fe6888777/${build}-bundle.js`;\n\n    function loadScript(src, sri, onload) {\n      const scriptTag = document.createElement('script');\n      scriptTag.type = 'text/javascript';\n      scriptTag.defer = true;\n      scriptTag.src = src;\n      scriptTag.integrity = sri;\n      scriptTag.crossOrigin = 'anonymous';\n      if (onload) {\n        scriptTag.onload = onload;\n      }\n      document.head.appendChild(scriptTag);\n    }\n\n    var widgetOptions = {{{json .}}};\n\n    {{#if _.context.isEditorMode '===' true}}\n      if (window.BigCommerce && window.BigCommerce.initializeCarouselV2 && typeof window.BigCommerce.initializeCarouselV2 === 'function' && window.BigCommerce.initializeCarouselPageBuilderComm && typeof window.BigCommerce.initializeCarouselPageBuilderComm === 'function') {\n        const carousel = window.BigCommerce.initializeCarouselV2(widgetOptions);\n        window.BigCommerce.initializeCarouselPageBuilderComm(carousel);\n      } else {\n        loadScript(scriptPath('storefront'), storefrontSRI, () => {\n          const carousel = window.BigCommerce.initializeCarouselV2(widgetOptions);\n          loadScript(scriptPath('pageBuilder'), pageBuilderSRI, () => {\n            window.BigCommerce.initializeCarouselPageBuilderComm(carousel);\n          });\n        });\n      }\n    {{else}}\n      if (window.BigCommerce && window.BigCommerce.initializeCarouselV2 && typeof window.BigCommerce.initializeCarouselV2 === 'function') {\n        window.BigCommerce.initializeCarouselV2(widgetOptions).setup();\n      } else {\n        loadScript(scriptPath('storefront'), storefrontSRI, () => window.BigCommerce.initializeCarouselV2(widgetOptions).setup());\n      }\n    {{/if}}\n  })();\n</script>\n",
      "date_created": "2024-02-27T02:43:46.667Z",
      "date_modified": "2024-02-27T02:43:46.667Z",
      "kind": "sd-carousel-v2",
      "storefront_api_query": "",
      "icon_name": "sd-carousel",
      "template_engine": "handlebars_v3",
      "client_rerender": true,
      "current_version_uuid": "894ed2cb-f52c-4423-a00c-8d8638e89ab8",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "ee808371-2043-42e1-9edb-f63b94a325e0",
      "name": "Video",
      "schema": [
        {
          "type": "tab",
          "label": "Content",
          "sections": [
            {
              "settings": [
                {
                  "type": "regexInput",
                  "label": "Video URL (YouTube or Vimeo)",
                  "id": "videoUrl",
                  "default": "",
                  "typeMeta": {
                    "placeholder": "https://",
                    "regExPatterns": [
                      {
                        "pattern": "(http:|https:|)\\/\\/(player.|www.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com))\\/(video\\/|embed\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?",
                        "matchIndex": 6,
                        "configKey": "id"
                      },
                      {
                        "pattern": "(vimeo|youtube|youtu)",
                        "matchIndex": 0,
                        "configKey": "type"
                      }
                    ]
                  }
                },
                {
                  "type": "boolean",
                  "label": "Autoplay video",
                  "id": "autoplay",
                  "default": false,
                  "conditional": {
                    "key": "videoUrl.parts.type",
                    "operator": "IN",
                    "value": [
                      "youtube",
                      "youtu"
                    ]
                  }
                },
                {
                  "type": "boolean",
                  "label": "Loop video",
                  "id": "loop",
                  "default": false,
                  "conditional": {
                    "key": "videoUrl.parts.type",
                    "operator": "IN",
                    "value": [
                      "vimeo",
                      "youtube",
                      "youtu"
                    ]
                  }
                },
                {
                  "type": "boolean",
                  "label": "Display video controls",
                  "id": "controls",
                  "default": true,
                  "conditional": {
                    "key": "videoUrl.parts.type",
                    "operator": "IN",
                    "value": [
                      "youtube",
                      "youtu"
                    ]
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<style>\n    .container-{{_.id}} {\n        position: relative;\n        width: 100%;\n        height: 0;\n        padding-bottom: 56.25%;\n    }\n    #player-{{_.id}} {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n    }\n</style>\n<div class=\"container-{{_.id}}\">\n    {{#if videoUrl.value '===' ''}}\n        <style>\n            .invalid-input-{{_.id}} {\n                height: 100%;\n                width: 100%;\n                display: flex;\n                align-items: center;\n                background: #F6F7FC;\n                justify-content: center;\n                position: absolute;\n            }\n\n            .invalid-input-{{_.id}} > svg {\n                height: 100%;\n                width: 20%;\n            }\n\n            .invalid-input-{{_.id}} > svg > rect {\n                fill: #D9DCE9;\n            }\n\n            .invalid-input-{{_.id}} > svg > path {\n                fill: #FFFFFF;\n            }\n        </style>\n        <div class=\"invalid-input-{{_.id}}\">\n            <!-- Waiting for input from user -->\n            <svg viewBox=\"0 0 182 115\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n                <rect width=\"182\" height=\"114.947\" rx=\"10\"/>\n                <path d=\"M120.952 53.2903C122.425 54.0275 122.425 56.1302 120.952 56.8674L73.5397 80.591C72.2099 81.2564\n                 70.6448 80.2895 70.6448 78.8024V31.3552C70.6448 29.8682 72.2099 28.9012 73.5397 29.5667L120.952 53.2903Z\"\n                />\n            </svg>\n        </div>\n    {{else}}\n        {{#unless videoUrl.parts.type}}\n            <style>\n                .invalid-input-{{_.id}} {\n                    text-align: center;\n                }\n            </style>\n            <div class=\"invalid-input-{{_.id}}\">\n                <h3>Invalid URL entered</h3>\n            </div>\n        {{else}}\n            {{#unless videoUrl.parts.id}}\n            <style>\n                .invalid-input-{{_.id}} {\n                    text-align: center;\n                }\n            </style>\n            <div class=\"invalid-input-{{_.id}}\">\n                <h3>Invalid URL entered</h3>\n            </div>\n            {{/unless}}\n        {{/unless}}\n    {{/if}}\n\n    {{#contains 'youtube' videoUrl.parts.type}}\n        {{#if videoUrl.parts.id}}\n            <iframe\n                    id=\"player-{{_.id}}\"\n                    type=\"text/html\"\n                    src=\"https://www.youtube.com/embed/{{videoUrl.parts.id}}?enablejsapi=1&autoplay={{#if autoplay}}1{{else}}0{{/if}}&controls={{#if controls}}1{{else}}0{{/if}}&fs=1&loop={{#if loop}}1&playlist={{videoUrl.parts.id}}{{else}}0{{/if}}&rel=0&mute={{#if autoplay}}1{{else}}0{{/if}}\"\n                    frameborder=\"0\"\n                    webkitallowfullscreen\n                    mozallowfullscreen\n                    allowfullscreen\n                    {{#if _.pageBuilderData.previewState.editMode}}onload=\"initDevMode(this)\"{{/if}}\n            ></iframe>\n        {{/if}}\n    {{/contains}}\n    {{#if videoUrl.parts.type '===' 'vimeo'}}\n        {{#if videoUrl.parts.id}}\n            <iframe\n                    id=\"player-{{_.id}}\"\n                    src=\"https://player.vimeo.com/video/{{videoUrl.parts.id}}?api=1&autoplay={{#if autoplay}}1{{else}}0{{/if}}&loop={{#if loop}}1{{else}}0{{/if}}\"\n                    frameborder=\"0\"\n                    webkitallowfullscreen\n                    mozallowfullscreen\n                    allowfullscreen\n                    {{#if _.pageBuilderData.previewState.editMode}}onload=\"initDevMode(this)\"{{/if}}\n            ></iframe>\n        {{/if}}\n    {{/if}}\n</div>\n\n<script type=\"text/javascript\">\n    function devVideoPlayModes(iframe, data) {\n        if (data.editMode) {\n            iframe.contentWindow.postMessage('{\"event\":\"command\",\"func\":\"pauseVideo\",\"method\":\"pause\"}', '*');\n        } else {\n            var src = iframe.getAttribute('src');\n            var url = new URL(src);\n            var autoplay = new URLSearchParams(url.search).get('autoplay');\n            \n            if (autoplay === '1') {\n                iframe.contentWindow.postMessage('{\"event\":\"command\",\"func\":\"playVideo\",\"method\":\"play\"}', '*');\n            }\n\n        }\n    }\n\n    function initDevMode(iframe) {\n        iframe.contentWindow.postMessage('{\"event\":\"command\",\"func\":\"stopVideo\",\"method\":\"end\"}', '*');\n    }\n\n    window.addEventListener('message', function load(event) {\n        try {\n            var data = JSON.parse(event.data);\n        } catch (e) { return; }\n\n        var iframe = document.querySelector('#player-{{_.id}}');\n        if (!iframe) {\n            window.removeEventListener('message', load);\n            return;\n        }\n\n        [{\n            action: 'toggle-edit-mode',\n            initiator: 'PAGE_BUILDER',\n            callback: devVideoPlayModes\n        }, {\n            action: 'sdk-loaded',\n            initiator: 'PAGE_BUILDER',\n            callback: initDevMode\n        }].forEach(function(handler) {\n            if (data.action === handler.action && data.initiator === handler.initiator) {\n                try { handler.callback(iframe, data); } catch (error) {}\n            }\n        })\n    });\n</script>\n",
      "date_created": "2024-02-27T02:43:46.691Z",
      "date_modified": "2024-02-27T02:43:46.691Z",
      "kind": "sd-video",
      "storefront_api_query": "",
      "icon_name": "sd-video",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "cb2a9b34-face-4101-bc1f-1f13ab9885d5",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "56c01cc3-4e64-4d83-9b5b-1a4ecd717f10",
      "name": "Product",
      "schema": [
        {
          "type": "hidden",
          "settings": [
            {
              "type": "graphQl",
              "id": "graphQueries",
              "typeMeta": {
                "mappings": {
                  "productId": {
                    "reads": "productId",
                    "type": "Int"
                  }
                }
              }
            }
          ]
        },
        {
          "type": "tab",
          "label": "Content",
          "sections": [
            {
              "label": "Product",
              "settings": [
                {
                  "type": "productId",
                  "label": "Product",
                  "id": "productId",
                  "default": "",
                  "typeMeta": {
                    "placeholder": "Search by name or SKU"
                  }
                }
              ]
            },
            {
              "label": "Elements",
              "settings": [
                {
                  "type": "alignment",
                  "label": "Content alignment",
                  "id": "productCardContentAlignment",
                  "default": {
                    "horizontal": "center"
                  },
                  "typeMeta": {
                    "display": "horizontal"
                  }
                },
                {
                  "type": "element",
                  "label": "Product image",
                  "id": "productImage",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Product image style",
                        "settings": [
                          {
                            "type": "select",
                            "label": "Image fit",
                            "id": "imageFit",
                            "default": "fill",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Scale to fill box",
                                  "value": "fill"
                                },
                                {
                                  "label": "Scale to fit box",
                                  "value": "fit"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Brand",
                  "id": "brand",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Brand style",
                        "settings": [
                          {
                            "type": "typography",
                            "label": "Text",
                            "id": "textStyle",
                            "default": "default"
                          },
                          {
                            "type": "color",
                            "label": "Text color",
                            "id": "color",
                            "default": "#444444"
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Product name",
                  "id": "productName",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Product name style",
                        "settings": [
                          {
                            "type": "typography",
                            "label": "Text",
                            "id": "textStyle",
                            "default": "default"
                          },
                          {
                            "type": "color",
                            "label": "Text color",
                            "id": "color",
                            "default": "#444444"
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Price",
                  "id": "price",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Price style",
                        "settings": [
                          {
                            "type": "typography",
                            "label": "Text",
                            "id": "textStyle",
                            "default": "default"
                          },
                          {
                            "type": "color",
                            "label": "Text color",
                            "id": "color",
                            "default": "#444444"
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Product rating",
                  "id": "productRating",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "hide"
                      },
                      "advanced": {
                        "label": "Product rating style",
                        "settings": [
                          {
                            "type": "color",
                            "label": "Star color (filled)",
                            "id": "starColorFilled",
                            "default": "#3C64F4"
                          },
                          {
                            "type": "color",
                            "label": "Star color (empty)",
                            "id": "starColorEmpty",
                            "default": "#ECEEF5"
                          },
                          {
                            "type": "color",
                            "label": "Reviews text color",
                            "id": "reviewsColor",
                            "default": "#8C93AD"
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Button",
                  "id": "button",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "hide"
                      },
                      "advanced": {
                        "label": "Button style",
                        "settings": [
                          {
                            "type": "select",
                            "label": "Button shape",
                            "id": "shape",
                            "default": "round",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Round",
                                  "value": "round"
                                },
                                {
                                  "label": "Square",
                                  "value": "square"
                                },
                                {
                                  "label": "Pill",
                                  "value": "pill"
                                }
                              ]
                            }
                          },
                          {
                            "type": "color",
                            "label": "Button color",
                            "id": "buttonColor",
                            "default": "rgba(68,68,68,1)"
                          },
                          {
                            "type": "typography",
                            "label": "Button text",
                            "id": "textStyle",
                            "default": "default"
                          },
                          {
                            "type": "color",
                            "label": "Button text color",
                            "id": "buttonTextColor",
                            "default": "rgba(255,255,255,1)"
                          },
                          {
                            "type": "select",
                            "label": "Button action",
                            "id": "buttonActionType",
                            "default": "addToCart",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Add to Cart",
                                  "value": "addToCart"
                                },
                                {
                                  "label": "Add to Wishlist",
                                  "value": "addToWishlist"
                                },
                                {
                                  "label": "Go to Product Page",
                                  "value": "goToProduct"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<div id=\"bc-product-{{_.id}}\"></div>\n\n{{#with ../_.data.site.product as | productResource |}}\n  {{#if productResource.entityId \"==\" productId}}\n    <script type=\"application/ld+json\" nonce=\"{{nonce}}\">\n      {\n        \"@context\": \"https://schema.org/\",\n        \"@type\": \"Product\",\n        \"name\": \"{{productResource.name}}\",\n        \"image\": \"{{productResource.defaultImage.url}}\",\n        \"brand\": \"{{productResource.brand.name}}\",\n        \"sku\": \"{{productResource.sku}}\",\n        \"aggregateRating\": {\n          \"@type\": \"AggregateRating\",\n          {{#if productResource.reviewSummary.summationOfRatings \"==\" 0}}\n          \"ratingValue\": \"0\",\n          {{else}}\n          \"ratingValue\": \"{{divide productResource.reviewSummary.summationOfRatings productResource.reviewSummary.numberOfReviews}}\",\n          {{/if}}\n          \"reviewCount\": \"{{productResource.reviewSummary.numberOfReviews}}\"\n        },\n        \"offers\": {\n          \"@type\": \"Offer\",\n          \"priceCurrency\": \"{{productResource.prices.price.currencyCode}}\",\n          \"price\": \"{{productResource.prices.price.value}}\",\n          \"seller\": {\n            \"@type\": \"Organization\",\n            \"name\": \"{{../../../_.data.site.settings.storeName}}\"\n          }\n        }\n      }\n    </script>\n  {{/if}}\n{{/with}}\n\n<script type=\"text/javascript\" nonce=\"{{nonce}}\">\n  (function() {\n    var widgetConfiguration = {{{json .}}};\n    var dataIsNotPresent = typeof widgetConfiguration._.data === 'undefined' || Object.keys(widgetConfiguration._.data || {}).length === 0;\n    var storefrontApiQueryData = widgetConfiguration._.queryData;\n\n    function executeStorefrontApiQuery(queryData, callback) {\n      // Fetch data from the GraphQL Storefront API\n      var storefrontApiRequest = new XMLHttpRequest(); // IE compatible\n      storefrontApiRequest.onreadystatechange = function() {\n        if (this.readyState == 4 && this.status == 200) {\n          callback(JSON.parse(this.response).data);\n        }\n      };\n\n      storefrontApiRequest.open('POST', `/graphql`, true);\n      storefrontApiRequest.setRequestHeader('Authorization', `Bearer ${queryData.storefrontApiToken}`);\n      storefrontApiRequest.setRequestHeader('Content-type', 'application/json');\n      storefrontApiRequest.send(JSON.stringify({ query: queryData.storefrontApiQuery, variables: JSON.parse(queryData.storefrontApiQueryParamsJson) }));\n    }\n\n    function executeWidget(configuration, storefrontApiData) {\n      if (storefrontApiData) {\n        configuration._.data = storefrontApiData;\n      }\n\n      if (window.BigCommerce && window.BigCommerce.initializeProduct && typeof window.BigCommerce.initializeProduct === 'function') {\n        window.BigCommerce.initializeProduct(configuration);\n      } else {\n        var scriptTag = document.createElement('script');\n        scriptTag.type = 'text/javascript';\n        scriptTag.src = 'https://microapps.bigcommerce.com/product-widget/dab8b491d2f9685813bdbf7635bdbe7614df7f41/bundle.js';\n        scriptTag.integrity = 'sha512-PDHgWqo35khUfkIfk/4FfUGhGGzLwJl8HRrznKXCUdcJqoh2SipYhKCYPjKquydSz1tUPWkKD/YwOMM9JhS1fA=='\n        scriptTag.crossOrigin = 'anonymous';\n        scriptTag.defer = true;\n        scriptTag.onload = function () { window.BigCommerce.initializeProduct(configuration) };\n        scriptTag.nonce = '{{nonce}}';\n        document.head.appendChild(scriptTag);\n      }\n    }\n\n    if (dataIsNotPresent && storefrontApiQueryData) {\n      executeStorefrontApiQuery(storefrontApiQueryData, function(storefrontApiData) { executeWidget(widgetConfiguration, storefrontApiData) });\n    } else {\n      executeWidget(widgetConfiguration);\n    }\n  })();\n</script>\n",
      "date_created": "2024-02-27T02:43:46.715Z",
      "date_modified": "2024-02-27T02:43:46.715Z",
      "kind": "sd-product",
      "storefront_api_query": "query Product($productId: Int, $activeCurrencyCode: currencyCode!) {\n  site {\n    settings {\n      storeName\n      tax {\n        plp\n      }\n    }\n    currency(currencyCode: $activeCurrencyCode) {\n      display {\n        symbol\n        symbolPlacement\n        decimalToken\n        decimalPlaces\n        thousandsToken\n      }\n    }\n    product(entityId: $productId) {\n      name\n      entityId\n      addToCartUrl\n      addToWishlistUrl\n      brand {\n        name\n      }\n      path\n      sku\n      priceWithTax: prices(includeTax: true, currencyCode: $activeCurrencyCode) {\n        price {\n          currencyCode\n          value\n        }\n      }\n      priceWithoutTax: prices(includeTax: false, currencyCode: $activeCurrencyCode) {\n        price {\n          currencyCode\n          value\n        }\n      }\n      reviewSummary {\n        summationOfRatings\n        numberOfReviews\n      }\n      defaultImage {\n        url(width: 1500, height: 1500)\n      }\n    }\n  }\n}\n\n",
      "icon_name": "sd-product",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "0237468b-16f7-491e-98c2-61905cca2e3c",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "930bc10e-3836-45e8-827c-604bee6a3680",
      "name": "Product set",
      "schema": [
        {
          "type": "hidden",
          "settings": [
            {
              "type": "graphQl",
              "id": "graphQueries",
              "typeMeta": {
                "mappings": {
                  "productIds": {
                    "reads": "product.value.*.productId",
                    "type": "Int!"
                  }
                }
              }
            }
          ]
        },
        {
          "type": "tab",
          "label": "Content",
          "sections": [
            {
              "label": "Products",
              "settings": [
                {
                  "type": "productSet",
                  "label": "Product Set",
                  "id": "product",
                  "entryLabel": "Product",
                  "default": {
                    "type": "manual",
                    "value": []
                  }
                }
              ],
              "typeMeta": {
                "type": "setSection"
              }
            },
            {
              "label": "Elements",
              "settings": [
                {
                  "type": "alignment",
                  "label": "Content alignment",
                  "id": "productCardContentAlignment",
                  "default": {
                    "horizontal": "center"
                  },
                  "typeMeta": {
                    "display": "horizontal"
                  }
                },
                {
                  "type": "select",
                  "label": "Products per slide",
                  "default": 4,
                  "id": "productsPerSlide",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "1",
                        "value": 1
                      },
                      {
                        "label": "2",
                        "value": 2
                      },
                      {
                        "label": "3",
                        "value": 3
                      },
                      {
                        "label": "4",
                        "value": 4
                      }
                    ]
                  }
                },
                {
                  "type": "element",
                  "label": "Product image",
                  "id": "productImage",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Product image style",
                        "settings": [
                          {
                            "type": "select",
                            "label": "Image fit",
                            "id": "imageFit",
                            "default": "fill",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Scale to fill box",
                                  "value": "fill"
                                },
                                {
                                  "label": "Scale to fit box",
                                  "value": "fit"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Brand",
                  "id": "brand",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Brand style",
                        "settings": [
                          {
                            "type": "typography",
                            "label": "Text",
                            "id": "textStyle",
                            "default": "default"
                          },
                          {
                            "type": "color",
                            "label": "Text color",
                            "id": "color",
                            "default": "#444444"
                          },
                          {
                            "type": "select",
                            "label": "Font family",
                            "id": "fontFamily",
                            "default": "inherit",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Theme Default",
                                  "value": "inherit"
                                },
                                {
                                  "label": "Arial",
                                  "value": "Arial, sans-serif"
                                },
                                {
                                  "label": "Tahoma",
                                  "value": "Tahoma, sans-serif"
                                },
                                {
                                  "label": "Verdana",
                                  "value": "Verdana, sans-serif"
                                },
                                {
                                  "label": "Lucida",
                                  "value": "Lucida, sans-serif"
                                },
                                {
                                  "label": "Times New Roman",
                                  "value": "Times New Roman, serif"
                                },
                                {
                                  "label": "Courier",
                                  "value": "Courier, serif"
                                },
                                {
                                  "label": "Georgia",
                                  "value": "Georgia, serif"
                                },
                                {
                                  "label": "Palatino",
                                  "value": "Palatino, serif"
                                }
                              ]
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          },
                          {
                            "type": "select",
                            "label": "Font weight",
                            "id": "fontWeight",
                            "default": "400",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Thin",
                                  "value": "100"
                                },
                                {
                                  "label": "Extra Light (Ultra Light)",
                                  "value": "200"
                                },
                                {
                                  "label": "Light",
                                  "value": "300"
                                },
                                {
                                  "label": "Normal",
                                  "value": "400"
                                },
                                {
                                  "label": "Medium",
                                  "value": "500"
                                },
                                {
                                  "label": "Semi Bold (Demi Bold)",
                                  "value": "600"
                                },
                                {
                                  "label": "Bold",
                                  "value": "700"
                                },
                                {
                                  "label": "Extra Bold (Ultra Bold)",
                                  "value": "800"
                                },
                                {
                                  "label": "Black (Heavy)",
                                  "value": "900"
                                }
                              ]
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          },
                          {
                            "type": "number",
                            "label": "Font size",
                            "id": "fontSize",
                            "default": {
                              "value": 36,
                              "type": "px"
                            },
                            "typeMeta": {
                              "parseType": "integer"
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Product name",
                  "id": "productName",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Product name style",
                        "settings": [
                          {
                            "type": "typography",
                            "label": "Text",
                            "id": "textStyle",
                            "default": "default"
                          },
                          {
                            "type": "color",
                            "label": "Text color",
                            "id": "color",
                            "default": "#444444"
                          },
                          {
                            "type": "select",
                            "label": "Font family",
                            "id": "fontFamily",
                            "default": "inherit",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Theme Default",
                                  "value": "inherit"
                                },
                                {
                                  "label": "Arial",
                                  "value": "Arial, sans-serif"
                                },
                                {
                                  "label": "Tahoma",
                                  "value": "Tahoma, sans-serif"
                                },
                                {
                                  "label": "Verdana",
                                  "value": "Verdana, sans-serif"
                                },
                                {
                                  "label": "Lucida",
                                  "value": "Lucida, sans-serif"
                                },
                                {
                                  "label": "Times New Roman",
                                  "value": "Times New Roman, serif"
                                },
                                {
                                  "label": "Courier",
                                  "value": "Courier, serif"
                                },
                                {
                                  "label": "Georgia",
                                  "value": "Georgia, serif"
                                },
                                {
                                  "label": "Palatino",
                                  "value": "Palatino, serif"
                                }
                              ]
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          },
                          {
                            "type": "select",
                            "label": "Font weight",
                            "id": "fontWeight",
                            "default": "400",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Thin",
                                  "value": "100"
                                },
                                {
                                  "label": "Extra Light (Ultra Light)",
                                  "value": "200"
                                },
                                {
                                  "label": "Light",
                                  "value": "300"
                                },
                                {
                                  "label": "Normal",
                                  "value": "400"
                                },
                                {
                                  "label": "Medium",
                                  "value": "500"
                                },
                                {
                                  "label": "Semi Bold (Demi Bold)",
                                  "value": "600"
                                },
                                {
                                  "label": "Bold",
                                  "value": "700"
                                },
                                {
                                  "label": "Extra Bold (Ultra Bold)",
                                  "value": "800"
                                },
                                {
                                  "label": "Black (Heavy)",
                                  "value": "900"
                                }
                              ]
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          },
                          {
                            "type": "number",
                            "label": "Font size",
                            "id": "fontSize",
                            "default": {
                              "value": 36,
                              "type": "px"
                            },
                            "typeMeta": {
                              "parseType": "integer"
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Price",
                  "id": "price",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "show"
                      },
                      "advanced": {
                        "label": "Price style",
                        "settings": [
                          {
                            "type": "typography",
                            "label": "Text",
                            "id": "textStyle",
                            "default": "default"
                          },
                          {
                            "type": "color",
                            "label": "Text color",
                            "id": "color",
                            "default": "#444444"
                          },
                          {
                            "type": "select",
                            "label": "Font family",
                            "id": "fontFamily",
                            "default": "inherit",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Theme Default",
                                  "value": "inherit"
                                },
                                {
                                  "label": "Arial",
                                  "value": "Arial, sans-serif"
                                },
                                {
                                  "label": "Tahoma",
                                  "value": "Tahoma, sans-serif"
                                },
                                {
                                  "label": "Verdana",
                                  "value": "Verdana, sans-serif"
                                },
                                {
                                  "label": "Lucida",
                                  "value": "Lucida, sans-serif"
                                },
                                {
                                  "label": "Times New Roman",
                                  "value": "Times New Roman, serif"
                                },
                                {
                                  "label": "Courier",
                                  "value": "Courier, serif"
                                },
                                {
                                  "label": "Georgia",
                                  "value": "Georgia, serif"
                                },
                                {
                                  "label": "Palatino",
                                  "value": "Palatino, serif"
                                }
                              ]
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          },
                          {
                            "type": "select",
                            "label": "Font weight",
                            "id": "fontWeight",
                            "default": "400",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Thin",
                                  "value": "100"
                                },
                                {
                                  "label": "Extra Light (Ultra Light)",
                                  "value": "200"
                                },
                                {
                                  "label": "Light",
                                  "value": "300"
                                },
                                {
                                  "label": "Normal",
                                  "value": "400"
                                },
                                {
                                  "label": "Medium",
                                  "value": "500"
                                },
                                {
                                  "label": "Semi Bold (Demi Bold)",
                                  "value": "600"
                                },
                                {
                                  "label": "Bold",
                                  "value": "700"
                                },
                                {
                                  "label": "Extra Bold (Ultra Bold)",
                                  "value": "800"
                                },
                                {
                                  "label": "Black (Heavy)",
                                  "value": "900"
                                }
                              ]
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          },
                          {
                            "type": "number",
                            "label": "Font size",
                            "id": "fontSize",
                            "default": {
                              "value": 36,
                              "type": "px"
                            },
                            "typeMeta": {
                              "parseType": "integer"
                            },
                            "conditional": {
                              "key": "textStyle",
                              "operator": "IN",
                              "value": [
                                "custom"
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Product rating",
                  "id": "productRating",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "hide"
                      },
                      "advanced": {
                        "label": "Product rating style",
                        "settings": [
                          {
                            "type": "color",
                            "label": "Star color (filled)",
                            "id": "starColorFilled",
                            "default": "#3C64F4"
                          },
                          {
                            "type": "color",
                            "label": "Star color (empty)",
                            "id": "starColorEmpty",
                            "default": "#ECEEF5"
                          },
                          {
                            "type": "color",
                            "label": "Reviews text color",
                            "id": "reviewsColor",
                            "default": "#8C93AD"
                          }
                        ]
                      }
                    }
                  }
                },
                {
                  "type": "element",
                  "label": "Button",
                  "id": "button",
                  "typeMeta": {
                    "controls": {
                      "visibility": {
                        "default": "hide"
                      },
                      "advanced": {
                        "label": "Button style",
                        "settings": [
                          {
                            "type": "select",
                            "label": "Button shape",
                            "id": "shape",
                            "default": "round",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Round",
                                  "value": "round"
                                },
                                {
                                  "label": "Square",
                                  "value": "square"
                                },
                                {
                                  "label": "Pill",
                                  "value": "pill"
                                }
                              ]
                            }
                          },
                          {
                            "type": "color",
                            "label": "Button color",
                            "id": "buttonColor",
                            "default": "rgba(68,68,68,1)"
                          },
                          {
                            "type": "color",
                            "label": "Button text color",
                            "id": "buttonTextColor",
                            "default": "rgba(255,255,255,1)"
                          },
                          {
                            "type": "select",
                            "label": "Button action",
                            "id": "buttonActionType",
                            "default": "addToCart",
                            "typeMeta": {
                              "selectOptions": [
                                {
                                  "label": "Add to Cart",
                                  "value": "addToCart"
                                },
                                {
                                  "label": "Add to Wishlist",
                                  "value": "addToWishlist"
                                },
                                {
                                  "label": "Go to Product Page",
                                  "value": "goToProduct"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<div id=\"sd-product-set-{{_.id}}\"></div>\n\n{{#each products as |product|}}\n  {{#each ../_.data.site.products.edges as |productResource|}}\n    {{#if productResource.node.entityId \"==\" product.productId}}\n      <script type=\"application/ld+json\" nonce=\"{{nonce}}\">\n        {\n          \"@context\": \"https://schema.org/\",\n          \"@type\": \"Product\",\n          \"name\": \"{{productResource.node.name}}\",\n          \"image\": \"{{productResource.node.defaultImage.url}}\",\n          \"description\": \"{{product.productDescription}}\",\n          \"sku\": \"{{productResource.node.sku}}\",\n          \"aggregateRating\": {\n            \"@type\": \"AggregateRating\",\n            {{#if productResource.node.reviewSummary.summationOfRatings \"==\" 0}}\n            \"ratingValue\": \"0\",\n            {{else}}\n            \"ratingValue\": \"{{divide productResource.node.reviewSummary.summationOfRatings productResource.node.reviewSummary.numberOfReviews}}\",\n            {{/if}}\n            \"reviewCount\": \"{{productResource.node.reviewSummary.numberOfReviews}}\"\n          },\n          \"offers\": {\n            \"@type\": \"Offer\",\n            \"priceCurrency\": \"{{productResource.node.prices.price.currencyCode}}\",\n            \"price\": \"{{productResource.node.prices.price.value}}\",\n            \"seller\": {\n              \"@type\": \"Organization\",\n              \"name\": \"{{../../../_.data.site.settings.storeName}}\"\n            }\n          }\n        }\n      </script>\n    {{/if}}\n  {{/each}}\n{{/each}}\n\n<script type=\"text/javascript\" nonce=\"{{nonce}}\">\n  (function() {\n    const storefrontSRI = 'sha512-PNLKymbMDMT5J7TxhLhyCwalnowXRuXsXznAL3N2XjvENv3HYFVTWSaFYYZGgWQQWFcBsuG/MMN4oF8ro1Qxsw==';\n    const pageBuilderSRI = 'sha512-F6LP2My9MC0QjpH4eYA1hxwNB8wutmKJaxdhE+PoOuN5264DCYgOsuINxFLq7A+vOEBSL9hGX/LSmQAkP/qYWQ==';\n    const scriptPath = (build) => `https://microapps.bigcommerce.com/product-set-widget/8d8f8421e73ee762e8b30438715f6233f0a7eb8b/${build}-bundle.js`;\n\n    var widgetConfiguration = {{{json .}}};\n    var dataIsNotPresent = typeof widgetConfiguration._.data === 'undefined' || Object.keys(widgetConfiguration._.data || {}).length === 0;\n    var storefrontApiQueryData = widgetConfiguration._.queryData;\n\n    function executeStorefrontApiQuery(queryData, callback) {\n      // Fetch data from the GraphQL Storefront API\n      var storefrontApiRequest = new XMLHttpRequest(); // IE compatible\n      storefrontApiRequest.onreadystatechange = function() {\n        if (this.readyState == 4 && this.status == 200) {\n          callback(JSON.parse(this.response).data);\n        }\n      };\n\n      storefrontApiRequest.open('POST', `/graphql`, true);\n      storefrontApiRequest.setRequestHeader('Authorization', `Bearer ${queryData.storefrontApiToken}`);\n      storefrontApiRequest.setRequestHeader('Content-type', 'application/json');\n      storefrontApiRequest.send(JSON.stringify({ query: queryData.storefrontApiQuery, variables: JSON.parse(queryData.storefrontApiQueryParamsJson) }));\n    }\n\n    function loadScript(src, sri, onload) {\n        const scriptTag = document.createElement('script');\n        scriptTag.type = 'text/javascript';\n        scriptTag.defer = true;\n        scriptTag.src = src;\n        scriptTag.integrity = sri;\n        scriptTag.crossOrigin = 'anonymous';\n        scriptTag.nonce = '{{nonce}}';\n        if (onload) {\n            scriptTag.onload = onload;\n        }\n        document.head.appendChild(scriptTag);\n    }\n\n    function executeWidget(configuration, storefrontApiData) {\n      if (storefrontApiData) {\n        configuration._.data = storefrontApiData;\n      }\n      {{#if _.context.isEditorMode '===' true}}\n        if (window.BigCommerce\n                && window.BigCommerce.initializeProductSet\n                && typeof window.BigCommerce.initializeProductSet === 'function'\n                && window.BigCommerce.initializeProductSetPageBuilderComm\n                && typeof window.BigCommerce.initializeProductSetPageBuilderComm === 'function') {\n            const productSet = window.BigCommerce.initializeProductSet(configuration);\n            window.BigCommerce.initializeProductSetPageBuilderComm(productSet);\n        } else {\n            loadScript(scriptPath('storefront'), storefrontSRI, () => {\n                const productSet = window.BigCommerce.initializeProductSet(configuration);\n                loadScript(scriptPath('pageBuilder'), pageBuilderSRI, () => {\n                    window.BigCommerce.initializeProductSetPageBuilderComm(productSet);\n                });\n            });\n        }\n      {{else}}\n        if (window.BigCommerce && window.BigCommerce.initializeProductSet && typeof window.BigCommerce.initializeProductSet === 'function') {\n            window.BigCommerce.initializeProductSet(configuration).setup();\n        } else {\n            loadScript(scriptPath('storefront'), storefrontSRI, () => window.BigCommerce.initializeProductSet(configuration).setup());\n        }\n      {{/if}}\n    }\n\n    if (dataIsNotPresent && storefrontApiQueryData) {\n      executeStorefrontApiQuery(storefrontApiQueryData, function(storefrontApiData) { executeWidget(widgetConfiguration, storefrontApiData) });\n    } else {\n      executeWidget(widgetConfiguration);\n    }\n  })();\n</script>\n",
      "date_created": "2024-02-27T02:43:46.742Z",
      "date_modified": "2024-02-27T02:43:46.742Z",
      "kind": "sd-product-set",
      "storefront_api_query": "query ProductSet($productIds: [Int!], $activeCurrencyCode: currencyCode!) {\n  site {\n    settings {\n      storeName\n      tax {\n        plp\n      }\n    }\n    currency(currencyCode: $activeCurrencyCode) {\n      display {\n        symbol\n        symbolPlacement\n        decimalToken\n        decimalPlaces\n        thousandsToken\n      }\n    }\n    products(entityIds: $productIds) {\n      edges {\n        node {\n          brand {\n            name\n          }\n          name\n          entityId\n          addToCartUrl\n          addToWishlistUrl\n          path\n          sku\n          priceWithTax: prices(includeTax: true, currencyCode: $activeCurrencyCode)  {\n            price {\n              currencyCode\n              value\n            }\n          }\n          priceWithoutTax: prices(includeTax: false, currencyCode: $activeCurrencyCode)  {\n            price {\n              currencyCode\n              value\n            }\n          }\n          reviewSummary {\n            summationOfRatings\n            numberOfReviews\n          }\n          defaultImage {\n            url80wide: url(width: 80)\n            url160wide: url(width: 160)\n            url320wide: url(width: 320)\n            url640wide: url(width: 640)\n            url960wide: url(width: 960)\n            url1280wide: url(width: 1280)\n            url1920wide: url(width: 1920)\n          }\n        }\n      }\n    }\n  }\n}\n",
      "icon_name": "sd-product-set",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "b2619639-70b7-4a1a-bb64-67e147286f79",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "ce9bbb4b-0625-4acc-a0e5-4ff9c8bb0615",
      "name": "Button",
      "schema": [
        {
          "type": "hidden",
          "settings": [
            {
              "id": "buttonText",
              "default": "Button label"
            }
          ]
        },
        {
          "type": "tab",
          "label": "Design",
          "sections": [
            {
              "label": "Button",
              "settings": [
                {
                  "type": "input",
                  "id": "buttonLink",
                  "label": "Button link",
                  "default": "",
                  "typeMeta": {
                    "placeholder": "https://"
                  }
                },
                {
                  "type": "alignment",
                  "label": "Button align",
                  "id": "alignment",
                  "default": {
                    "horizontal": "center"
                  },
                  "typeMeta": {
                    "display": "horizontal"
                  }
                },
                {
                  "type": "boxModel",
                  "label": "Margin (px)",
                  "id": "buttonMargin",
                  "default": {
                    "top": {
                      "value": "0",
                      "type": "px"
                    },
                    "right": {
                      "value": "0",
                      "type": "px"
                    },
                    "bottom": {
                      "value": "0",
                      "type": "px"
                    },
                    "left": {
                      "value": "0",
                      "type": "px"
                    }
                  }
                },
                {
                  "type": "boxModel",
                  "label": "Padding (px)",
                  "id": "buttonPadding",
                  "default": {
                    "top": {
                      "value": "8",
                      "type": "px"
                    },
                    "right": {
                      "value": "24",
                      "type": "px"
                    },
                    "bottom": {
                      "value": "8",
                      "type": "px"
                    },
                    "left": {
                      "value": "24",
                      "type": "px"
                    }
                  }
                }
              ]
            },
            {
              "label": "Text",
              "settings": [
                {
                  "type": "select",
                  "label": "Font family",
                  "id": "fontFamily",
                  "default": "inherit",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Theme Default",
                        "value": "inherit"
                      },
                      {
                        "label": "Arial",
                        "value": "Arial, sans-serif"
                      },
                      {
                        "label": "Tahoma",
                        "value": "Tahoma, sans-serif"
                      },
                      {
                        "label": "Verdana",
                        "value": "Verdana, sans-serif"
                      },
                      {
                        "label": "Lucida",
                        "value": "Lucida, sans-serif"
                      },
                      {
                        "label": "Times New Roman",
                        "value": "Times New Roman, serif"
                      },
                      {
                        "label": "Courier",
                        "value": "Courier, serif"
                      },
                      {
                        "label": "Georgia",
                        "value": "Georgia, serif"
                      },
                      {
                        "label": "Palatino",
                        "value": "Palatino, serif"
                      }
                    ]
                  }
                },
                {
                  "type": "select",
                  "label": "Font weight",
                  "id": "fontWeight",
                  "default": "400",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Thin",
                        "value": "100"
                      },
                      {
                        "label": "Extra Light (Ultra Light)",
                        "value": "200"
                      },
                      {
                        "label": "Light",
                        "value": "300"
                      },
                      {
                        "label": "Normal",
                        "value": "400"
                      },
                      {
                        "label": "Medium",
                        "value": "500"
                      },
                      {
                        "label": "Semi Bold (Demi Bold)",
                        "value": "600"
                      },
                      {
                        "label": "Bold",
                        "value": "700"
                      },
                      {
                        "label": "Extra Bold (Ultra Bold)",
                        "value": "800"
                      },
                      {
                        "label": "Black (Heavy)",
                        "value": "900"
                      }
                    ]
                  }
                },
                {
                  "type": "number",
                  "label": "Font size",
                  "id": "textSize",
                  "default": {
                    "value": 21,
                    "type": "px"
                  },
                  "typeMeta": {
                    "parseType": "integer"
                  }
                },
                {
                  "type": "color",
                  "label": "Text color",
                  "id": "textColor",
                  "default": "#FFFFFF"
                },
                {
                  "type": "color",
                  "label": "Text color (hover)",
                  "id": "textColorHover",
                  "default": "#FFFFFF"
                }
              ]
            },
            {
              "label": "Style",
              "settings": [
                {
                  "type": "color",
                  "label": "Button color",
                  "id": "backgroundColor",
                  "default": "#444444"
                },
                {
                  "type": "color",
                  "label": "Button color (hover)",
                  "id": "backgroundColorHover",
                  "default": "#666666"
                },
                {
                  "type": "color",
                  "label": "Border color",
                  "id": "borderColor",
                  "default": "#444444"
                },
                {
                  "type": "color",
                  "label": "Border color (hover)",
                  "id": "borderColorHover",
                  "default": "#666666"
                },
                {
                  "type": "range",
                  "label": "Border thickness",
                  "id": "buttonBorder",
                  "default": 1,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 0,
                      "max": 10,
                      "step": 1,
                      "unit": "px"
                    }
                  }
                },
                {
                  "type": "range",
                  "label": "Border radius",
                  "id": "borderRadius",
                  "default": 4,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 0,
                      "max": 100,
                      "step": 1,
                      "unit": "px"
                    }
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<style>\n    .sd-button-{{_.id}} {\n        display: flex;\n        align-items: center;\n        {{#if alignment.horizontal '===' 'center'}}\n            justify-content: center;\n        {{else if alignment.horizontal '===' 'left'}}\n            justify-content: flex-start;\n        {{else if alignment.horizontal '===' 'right'}}\n            justify-content: flex-end;\n        {{/if}}\n    }\n\n    .sd-button-{{_.id}} .buttonLink > a {\n        text-decoration: none;\n        background-color: {{backgroundColor}};\n        border: {{buttonBorder}}px solid {{borderColor}};\n        border-radius: {{borderRadius}}px;\n        color: {{textColor}};\n        font-size: {{textSize.value}}{{textSize.type}};\n        font-family: {{fontFamily}};\n        font-weight: {{fontWeight}};\n        padding-top: {{buttonPadding.top.value}}{{buttonPadding.top.type}};\n        padding-right: {{buttonPadding.right.value}}{{buttonPadding.right.type}};\n        padding-bottom: {{buttonPadding.bottom.value}}{{buttonPadding.bottom.type}};\n        padding-left: {{buttonPadding.left.value}}{{buttonPadding.left.type}};\n        margin-top: {{buttonMargin.top.value}}{{buttonMargin.top.type}};\n        margin-right: {{buttonMargin.right.value}}{{buttonMargin.right.type}};\n        margin-bottom: {{buttonMargin.bottom.value}}{{buttonMargin.bottom.type}};\n        margin-left: {{buttonMargin.left.value}}{{buttonMargin.left.type}};\n        text-align: center;\n        cursor: pointer;\n    }\n\n    .sd-button-{{_.id}} .buttonLink > a:hover {\n        background-color: {{backgroundColorHover}};\n        border-color: {{borderColorHover}};\n        color: {{textColorHover}};\n    }\n\n    @media only screen and (max-width: 700px) {\n        .sd-button-{{_.id}} { }\n    }\n\n    #sd-simple-button-editable-{{_.id}} {\n        min-width: 14px;\n        line-height: 1.5;\n        display: inline-block;\n    }\n\n    #sd-simple-button-editable-{{_.id}} * {\n        margin: 0;\n        padding: 0;\n    }\n\n    #sd-simple-button-editable-{{_.id}}[data-edit-mode=\"true\"]:hover,\n    #sd-simple-button-editable-{{_.id}}[data-edit-mode=\"true\"]:active,\n    #sd-simple-button-editable-{{_.id}}[data-edit-mode=\"true\"]:focus {\n        outline: 1px dashed #3C64F4;\n    }\n\n    #sd-simple-button-editable-{{_.id}} strong,\n    #sd-simple-button-editable-{{_.id}} strong * {\n        font-weight: bold;\n    }\n</style>\n\n<div class=\"sd-button-{{_.id}}\">\n    <div class=\"buttonLink\">\n        <a href=\"{{buttonLink}}\" target=\"_top\" role=\"button\" id=\"sd-simple-button-editable-{{_.id}}\" data-edit-mode=\"{{_.pageBuilderData.previewState.editMode}}\">\n            {{{buttonText}}}\n        </a>\n    </div>\n</div>\n\n{{#if _.context.isEditorMode '===' true}}\n    <script type=\"text/javascript\" nonce=\"{{nonce}}\">\n        (function () {\n            var editMode = false;\n            var selector = \"sd-simple-button-editable-{{_.id}}\";\n            var element = document.getElementById(selector);\n            if (!element) { return; }\n\n            var button = document.getElementsByClassName(\"sd-button-{{_.id}}\")[0]\n            button.addEventListener('click', () => {\n                element.focus()\n            });\n\n            function initializeContentEditableText() {\n                if (window.BigCommerce && window.BigCommerce.inlineEditor && window.BigCommerce.sendWidgetUpdate) {\n                    editMode = true;\n                    window.BigCommerce.inlineEditor.init({\n                        selector: \"#\" + selector,\n                        editMode: editMode,\n                        onBlur: function (content) {\n                          element.innerHtml = content;\n                          flushChanges(content);\n                        },\n                        onKeyup: flushChanges,\n                        toolbarItems: ['bold', 'italic', 'underline', 'strikethrough']\n                    });\n                }\n            }\n\n            function flushChanges(content) {\n              var props = {\n                \"buttonText\": content\n              };\n              window.BigCommerce.sendWidgetUpdate(props, \"{{_.id}}\");\n            }\n\n            function setEditMode(data) {\n                editMode = data.editMode;\n                element.dataset.editMode = editMode;\n\n                if (window.BigCommerce && window.BigCommerce.inlineEditor) {\n                    if (editMode) {\n                        initializeContentEditableText()\n                    } else {\n                        window.BigCommerce.inlineEditor.remove(\"#\" + selector);\n                    }\n                }\n            }\n\n            window.addEventListener('message', function (event) {\n                try {\n                    var data = JSON.parse(event.data);\n                } catch (error) {\n                    return;\n                }\n\n                [{\n                    action: 'sdk-loaded',\n                    initiator: 'PAGE_BUILDER',\n                    callback: initializeContentEditableText\n                },{\n                    action: 'toggle-edit-mode',\n                    initiator: 'PAGE_BUILDER',\n                    callback: setEditMode\n                }].forEach(function (handler) {\n                    if (data.action === handler.action && data.initiator === handler.initiator) {\n                        try { handler.callback(data); } catch (error) {}\n                    }\n                })\n            });\n\n            initializeContentEditableText();\n        })();\n    </script>\n{{/if}}\n",
      "date_created": "2024-02-27T02:43:46.764Z",
      "date_modified": "2024-02-27T02:43:46.764Z",
      "kind": "sd-simple-button-v2",
      "storefront_api_query": "",
      "icon_name": "sd-button",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "e0a82c10-b25f-40ea-94f2-ef8fac3e0ba9",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "8cc96950-8a15-4f3b-8129-087aa2a78248",
      "name": "HTML",
      "schema": [
        {
          "label": "Content",
          "type": "tab",
          "sections": [
            {
              "settings": [
                {
                  "id": "htmlCode",
                  "label": "HTML Code",
                  "default": "<p style=\"\n  border: 1px dashed #8C93AD;\n  color: #313440;\n  font-family: arial;\n  margin: 0;\n  padding: 1rem;\n  text-align: center;\n\">\n  You can use this widget to input arbitrary HTML code into the page. Invalid HTML code may cause issues with the preview pane.\n</p>",
                  "type": "code",
                  "typeMeta": {
                    "language": "html",
                    "placeholder": "Insert HTML code here"
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "{{{htmlCode}}}\n",
      "date_created": "2024-02-27T02:43:46.778Z",
      "date_modified": "2024-02-27T02:43:46.778Z",
      "kind": "sd-simple-html",
      "storefront_api_query": "",
      "icon_name": "sd-html",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "29a485e4-327c-42f5-80cc-e91becc00347",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "7f7e85d0-259a-4412-b8e9-d4b03ec71975",
      "name": "Spacer",
      "schema": [
        {
          "type": "tab",
          "label": "Design",
          "sections": [
            {
              "settings": [
                {
                  "type": "range",
                  "id": "spaceSize",
                  "default": 50,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 0,
                      "max": 200,
                      "step": 1,
                      "unit": "px"
                    }
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<style>\n  .sd-spacer-{{_.id}} {\n    height: {{spaceSize}}px;\n  }\n</style>\n\n<div class=\"sd-spacer-{{_.id}}\">\n</div>\n",
      "date_created": "2024-02-27T02:43:46.794Z",
      "date_modified": "2024-02-27T02:43:46.794Z",
      "kind": "sd-spacer",
      "storefront_api_query": "",
      "icon_name": "sd-spacer",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "f19afefc-4720-4ef7-b28c-c1727f4db27e",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "d5163e7b-b6e3-4adc-bac1-d7d740cedd0f",
      "name": "Divider",
      "schema": [
        {
          "type": "tab",
          "label": "Design",
          "sections": [
            {
              "settings": [
                {
                  "type": "color",
                  "label": "Line color",
                  "id": "color",
                  "default": "rgba(180, 186, 209, 1)"
                },
                {
                  "type": "select",
                  "label": "Line style",
                  "id": "style",
                  "default": "solid",
                  "typeMeta": {
                    "selectOptions": [
                      {
                        "label": "Solid",
                        "value": "solid"
                      },
                      {
                        "label": "Dashed",
                        "value": "dashed"
                      },
                      {
                        "label": "Dotted",
                        "value": "dotted"
                      }
                    ]
                  }
                },
                {
                  "type": "range",
                  "label": "Line width",
                  "id": "width",
                  "default": 100,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 1,
                      "max": 100,
                      "step": 1,
                      "unit": "%"
                    }
                  }
                },
                {
                  "type": "range",
                  "label": "Line thickness",
                  "id": "thickness",
                  "default": 1,
                  "typeMeta": {
                    "rangeValues": {
                      "min": 1,
                      "max": 10,
                      "step": 1,
                      "unit": "px"
                    }
                  }
                },
                {
                  "type": "alignment",
                  "label": "Alignment",
                  "id": "alignment",
                  "default": {
                    "horizontal": "center",
                    "vertical": "middle"
                  },
                  "typeMeta": {
                    "display": "both"
                  }
                }
              ]
            }
          ]
        }
      ],
      "template": "<style>\n  .sd-divider-wrapper-{{_.id}} {\n    display: flex;\n    height: 20px;\n    {{#if alignment.vertical '===' 'middle'}}\n      align-items: center;\n    {{else if alignment.vertical '===' 'top'}}\n      align-items: flex-start;\n    {{else if alignment.vertical '===' 'bottom'}}\n      align-items: flex-end;\n    {{/if}}\n    {{#if alignment.horizontal '===' 'center'}}\n      justify-content: center;\n      text-align: center;\n    {{else if alignment.horizontal '===' 'left'}}\n      justify-content: flex-start;\n      text-align: left;\n    {{else if alignment.horizontal '===' 'right'}}\n      justify-content: flex-end;\n      text-align: right;\n    {{/if}}\n  }\n\n  .sd-divider-{{_.id}} {\n    height: 0;\n    border-top: {{thickness}}px;\n    border-color: {{color}};\n    border-style: {{style}};\n    width: {{width}}%;\n    margin: 0;\n  }\n</style>\n\n<div class=\"sd-divider-wrapper-{{_.id}}\">\n  <hr class=\"sd-divider-{{_.id}}\"/>\n</div>\n",
      "date_created": "2024-02-27T02:43:46.811Z",
      "date_modified": "2024-02-27T02:43:46.811Z",
      "kind": "sd-divider",
      "storefront_api_query": "",
      "icon_name": "sd-divider",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "46ae4c9f-a1ab-4bcf-bef2-a7ae74711b69",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "d00f2f72-2702-49dd-ac14-ffc18cc4eed6",
      "name": "Affirm Product Page Banner",
      "schema": [],
      "template": "{{#if currency '===' _.context.activeCurrencyCode}}\n<div id=\"banner-region-{{ _.id }}\" style=\"width: {{#if product_banner_width}}{{product_banner_width}}{{else}}100%{{/if}}; height: {{#if product_banner_height}}{{product_banner_height}}{{else}}50px{{/if}}\">\n    <script defer nonce=\"{{nonce}}\">\n        _affirm_config = {\n            public_api_key: \"{{ public_api_key }}\",\n            script:\n                {{#if test_mode }}\n                    \"https://cdn1-sandbox.affirm.com/js/v2/affirm.js\"\n                {{else}}\n                    \"https://cdn1.affirm.com/js/v2/affirm.js\"\n                {{/if}}\n        };\n        (function(l,g,m,e,a,f,b){var d,c=l[m]||{},h=document.createElement(f),n=document.getElementsByTagName(f)[0],k=function(a,b,c){return function(){a[b]._.push([c,arguments])}};c[e]=k(c,e,\"set\");d=c[e];c[a]={};c[a]._=[];d._=[];c[a][b]=k(c,a,b);a=0;for(b=\"set add save post open empty reset on off trigger ready setProduct\".split(\" \");a<b.length;a++)d[b[a]]=k(c,e,b[a]);a=0;for(b=[\"get\",\"token\",\"url\",\"items\"];a<b.length;a++)d[b[a]]=function(){};h.async=!0;h.src=g[f];n.parentNode.insertBefore(h,n);delete g[f];d(g);l[m]=c})(window,_affirm_config,\"affirm\",\"checkout\",\"ui\",\"script\",\"ready\");\n\n        affirm.ui.ready(function() {\n            \"use strict\";\n\n            const priceSelectors = [{{{json product_banner_price_selector }}}, '.productView-price .price--withoutTax .price', '.productView-price .price--withoutTax .price'];\n\n            const priceElement = priceSelectors.reduce((acc, selector) => {\n                return acc || (selector ? document.querySelector(selector) : null);\n            }, null);\n\n            if (!priceElement) {\n                console.warn('Affirm: Price element not found on the page');\n                return;\n            }\n\n            const affirmBanner = document.getElementById('affirm-widget');\n\n            /**\n             * Converts a numeric string representation of a price to cents.\n             * The function handles the following input formats:\n             * - Standard prices with thousands separators and decimal separators (e.g., \"1,234.56\").\n             * - Prices in the form of a range (e.g., \"12,345.67-14,567.89\"), returning the first price in cents.\n             * - Input strings may include symbols (e.g., \"$\", \"USD\") that will be removed.\n             *\n             * Examples:\n             * - convertToCents(\"12,345.67-14,567.89\") returns \"1234567\"\n             * - convertToCents(\"123.45\") returns \"12345\"\n             * - convertToCents(\"123,456\") returns \"12345600\"\n             * - convertToCents(\"1-2\") returns \"100\"\n             * - convertToCents(\"$1,000.99-USD2,000.50\") returns \"100099\"\n             *\n             * @param {string} input - The numeric string to convert.\n             * @returns {string} - The converted price in cents as a string.\n             */\n            function convertToCents(input) {\n                if (!/\\d/.test(input)) {\n                    console.warn('Affirm: The price element doesn\\'t contain any digits. Please check the price element selector.');\n                    return '0';\n                }\n                // note: this doesn't support negative prices\n                // strip second part of the range, if any\n                const firstPartOfRange = input.replace(/-.*$/, '');\n                // remove non-numeric characters from start & end of the string\n                const nonNumericCharsTrimmed = firstPartOfRange.replace(/(^[^0-9]+)|([^0-9]+$)/g, '');\n\n                // detect minor units that is one or two trailing digits led by a non-digit character; anything before that is major units;\n                // if we have more than 2 digits in the end group, we fall back to assuming that the number has no decimal part\n                const units = nonNumericCharsTrimmed.match(/^(.*)[^0-9]([0-9]{1,2})?$/) || ['', nonNumericCharsTrimmed, 0];\n                // strip non-numeric characters from major units\n                const majorUnitsAsString = units[1].replace(/[^0-9]/g, '') || '0';\n\n                // minor uinits already contains only numeric characters\n                const minorUnitsAsString = units[2] || '0';\n                const minorUnitsValue = minorUnitsAsString.length == 1? 10 : 1;\n                // convert into number\n                return majorUnitsAsString * 100 + minorUnitsAsString * minorUnitsValue;\n            }\n\n            {{#if product_banner_dynamic_price_change }}\n                const observer = new MutationObserver(function (mutationsList) {\n                    mutationsList.forEach(function (mutation) {\n                        affirmBanner.dataset.amount = convertToCents(mutation.target.innerText);\n                        affirm.ui.refresh();\n                    });\n                });\n                observer.observe(priceElement, { childList: true });\n            {{/if}}\n\n            affirmBanner.dataset.amount = convertToCents(priceElement.innerText);\n            affirm.ui.refresh();\n        });\n    </script>\n    <p id=\"affirm-widget\" class=\"affirm-as-low-as\" data-page-type=\"product\" data-affirm-type=\"{{ logo_type }}\" data-affirm-color=\"{{ line_color }}\"></p>\n</div>\n{{/if}}",
      "date_created": "2025-02-19T15:19:23.303Z",
      "date_modified": "2025-02-19T15:19:23.303Z",
      "kind": "affirm-productpage-productwidget",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "fc4743d4-c8e0-43f7-a475-f60ffcf5d24e",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "44e435ce-be38-45f1-b87a-5c2a4426ed5d",
      "name": "Affirm Cart Page Banner",
      "schema": [],
      "template": "{{#if currency '===' _.context.activeCurrencyCode}}\n<style media=\"screen\">\n    #banner-region-{{ _.id }} {\n        display: block;\n        clear: both;\n        float: right;\n        margin-bottom: 15px;\n        width: {{#if cart_banner_width}}{{cart_banner_width}}{{else}}100%{{/if}};\n        height: {{#if cart_banner_height}}{{cart_banner_height}}{{else}}50px{{/if}};\n        text-align: right;\n    }\n</style>\n<div id=\"banner-region-{{ _.id }}\">\n    <script defer nonce=\"{{nonce}}\">\n        _affirm_config = {\n            public_api_key: \"{{ public_api_key }}\",\n            script:\n                {{#if test_mode }}\n                    \"https://cdn1-sandbox.affirm.com/js/v2/affirm.js\"\n                {{else}}\n                    \"https://cdn1.affirm.com/js/v2/affirm.js\"\n                {{/if}}\n        };\n        (function(l,g,m,e,a,f,b){var d,c=l[m]||{},h=document.createElement(f),n=document.getElementsByTagName(f)[0],k=function(a,b,c){return function(){a[b]._.push([c,arguments])}};c[e]=k(c,e,\"set\");d=c[e];c[a]={};c[a]._=[];d._=[];c[a][b]=k(c,a,b);a=0;for(b=\"set add save post open empty reset on off trigger ready setProduct\".split(\" \");a<b.length;a++)d[b[a]]=k(c,e,b[a]);a=0;for(b=[\"get\",\"token\",\"url\",\"items\"];a<b.length;a++)d[b[a]]=function(){};h.async=!0;h.src=g[f];n.parentNode.insertBefore(h,n);delete g[f];d(g);l[m]=c})(window,_affirm_config,\"affirm\",\"checkout\",\"ui\",\"script\",\"ready\");\n\n        affirm.ui.ready(function() {\n            \"use strict\";\n\n            const affirmBanner = document.getElementById('affirm-widget');\n\n            /**\n             * Converts a numeric string representation of a price to cents.\n             * The function handles the following input formats:\n             * - Standard prices with thousands separators and decimal separators (e.g., \"1,234.56\").\n             * - Prices in the form of a range (e.g., \"12,345.67-14,567.89\"), returning the first price in cents.\n             * - Input strings may include symbols (e.g., \"$\", \"USD\") that will be removed.\n             *\n             * Examples:\n             * - convertToCents(\"12,345.67-14,567.89\") returns \"1234567\"\n             * - convertToCents(\"123.45\") returns \"12345\"\n             * - convertToCents(\"123,456\") returns \"12345600\"\n             * - convertToCents(\"1-2\") returns \"100\"\n             * - convertToCents(\"$1,000.99-USD2,000.50\") returns \"100099\"\n             *\n             * @param {string} input - The numeric string to convert.\n             * @returns {string} - The converted price in cents as a string.\n             */\n            function convertToCents(input) {\n                if (!/\\d/.test(input)) {\n                    console.warn('Affirm: The price element doesn\\'t contain any digits. Please check the price element selector.');\n                    return '0';\n                }\n                // note: this doesn't support negative prices\n                // strip second part of the range, if any\n                const firstPartOfRange = input.replace(/-.*$/, '');\n                // remove non-numeric characters from start & end of the string\n                const nonNumericCharsTrimmed = firstPartOfRange.replace(/(^[^0-9]+)|([^0-9]+$)/g, '');\n\n                // detect minor units that is one or two trailing digits led by a non-digit character; anything before that is major units;\n                // if we have more than 2 digits in the end group, we fall back to assuming that the number has no decimal part\n                const units = nonNumericCharsTrimmed.match(/^(.*)[^0-9]([0-9]{1,2})?$/) || ['', nonNumericCharsTrimmed, 0];\n                // strip non-numeric characters from major units\n                const majorUnitsAsString = units[1].replace(/[^0-9]/g, '') || '0';\n\n                // minor uinits already contains only numeric characters\n                const minorUnitsAsString = units[2] || '0';\n                const minorUnitsValue = minorUnitsAsString.length == 1? 10 : 1;\n                // convert into number\n                return majorUnitsAsString * 100 + minorUnitsAsString * minorUnitsValue;\n            }\n\n            function updateAffirmPrice() {\n                // since totalPriceElement is recreated after updating the cart price, we need to search for it again each time.\n                const totalPriceElement = document.querySelector({{{json cart_banner_price_selector }}});\n                if (!totalPriceElement) {\n                    console.warn('Affirm: Total price element not found on the page');\n                    return;\n                }\n                affirmBanner.dataset.amount = convertToCents(totalPriceElement.innerText);\n                affirm.ui.refresh();\n            }\n\n            {{#if cart_banner_dynamic_price_change }}\n                const cartTotalsElement = document.querySelector('.cart-content-padding-right');\n                const observer = new MutationObserver(updateAffirmPrice);\n                observer.observe(cartTotalsElement, { childList: true });\n            {{/if}}\n\n            updateAffirmPrice();\n        });\n    </script>\n    <p id=\"affirm-widget\" class=\"affirm-as-low-as\" data-page-type=\"cart\" data-affirm-type=\"{{ logo_type }}\" data-affirm-color=\"{{ line_color }}\"></p>\n</div>\n{{/if}}",
      "date_created": "2025-02-19T15:23:15.577Z",
      "date_modified": "2025-02-19T15:23:15.577Z",
      "kind": "affirm-cartpage-cartwidget",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "a2a7fbe5-812b-41da-a999-d86df772a1c3",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "273df040-e3d6-4a5e-a883-8ed07d09c13e",
      "name": "Affirm Category Page Banner",
      "schema": [],
      "template": "{{#if currency '===' _.context.activeCurrencyCode}}\n<style>\n    .affirm-banner {\n        width: {{#if category_banner_width}}{{category_banner_width}}{{else}}100%{{/if}};\n        height: {{#if category_banner_height}}{{category_banner_height}}{{else}}50px{{/if}};\n    }\n</style>\n<script>\n    (function() {\n        const _affirm_config = {\n            public_api_key: \"{{ public_api_key }}\",\n            script:\n                {{#if test_mode }}\n                    \"https://cdn1-sandbox.affirm.com/js/v2/affirm.js\"\n                {{else}}\n                    \"https://cdn1.affirm.com/js/v2/affirm.js\"\n                {{/if}}\n        };\n\n        (function(l,g,m,e,a,f,b){var d,c=l[m]||{},h=document.createElement(f),n=document.getElementsByTagName(f)[0],k=function(a,b,c){return function(){a[b]._.push([c,arguments])}};c[e]=k(c,e,\"set\");d=c[e];c[a]={};c[a]._=[];d._=[];c[a][b]=k(c,a,b);a=0;for(b=\"set add save post open empty reset on off trigger ready setProduct\".split(\" \");a<b.length;a++)d[b[a]]=k(c,e,b[a]);a=0;for(b=[\"get\",\"token\",\"url\",\"items\"];a<b.length;a++)d[b[a]]=function(){};h.async=!0;h.src=g[f];n.parentNode.insertBefore(h,n);delete g[f];d(g);l[m]=c})(window,_affirm_config,\"affirm\",\"checkout\",\"ui\",\"script\",\"ready\");\n\n        /**\n         * Converts a numeric string representation of a price to cents.\n         * The function handles the following input formats:\n         * - Standard prices with thousands separators and decimal separators (e.g., \"1,234.56\").\n         * - Prices in the form of a range (e.g., \"12,345.67-14,567.89\"), returning the first price in cents.\n         * - Input strings may include symbols (e.g., \"$\", \"USD\") that will be removed.\n         *\n         * Examples:\n         * - convertToCents(\"12,345.67-14,567.89\") returns \"1234567\"\n         * - convertToCents(\"123.45\") returns \"12345\"\n         * - convertToCents(\"123,456\") returns \"12345600\"\n         * - convertToCents(\"1-2\") returns \"100\"\n         * - convertToCents(\"$1,000.99-USD2,000.50\") returns \"100099\"\n         *\n         * @param {string} input - The numeric string to convert.\n         * @returns {string} - The converted price in cents as a string.\n         */\n        function convertToCents(input) {\n            if (!/\\d/.test(input)) {\n                console.warn('Affirm: The price element doesn\\'t contain any digits. Please check the price element selector.');\n                return '0';\n            }\n            // note: this doesn't support negative prices\n            // strip second part of the range, if any\n            const firstPartOfRange = input.replace(/-.*$/, '');\n            // remove non-numeric characters from start & end of the string\n            const nonNumericCharsTrimmed = firstPartOfRange.replace(/(^[^0-9]+)|([^0-9]+$)/g, '');\n\n            // detect minor units that is one or two trailing digits led by a non-digit character; anything before that is major units;\n            // if we have more than 2 digits in the end group, we fall back to assuming that the number has no decimal part\n            const units = nonNumericCharsTrimmed.match(/^(.*)[^0-9]([0-9]{1,2})?$/) || ['', nonNumericCharsTrimmed, 0];\n            // strip non-numeric characters from major units\n            const majorUnitsAsString = units[1].replace(/[^0-9]/g, '') || '0';\n\n            // minor uinits already contains only numeric characters\n            const minorUnitsAsString = units[2] || '0';\n            const minorUnitsValue = minorUnitsAsString.length == 1? 10 : 1;\n            // convert into number\n            return majorUnitsAsString * 100 + minorUnitsAsString * minorUnitsValue;\n        }\n\n        //json helper is used to escape quotes in selector. e.g. div[data-foo=\"bar\"] => div[data-foo=\\\"bar\\\"]\n        function initialize() {\n            const priceElements = document.querySelectorAll({{{json category_banner_product_price_selector }}});\n            if (priceElements.length === 0) {\n                console.warn('Affirm: Price elements not found on the page');\n                return;\n            }\n\n            priceElements.forEach(priceElement => {\n                const affirmElement = document.createElement('p');\n                affirmElement.className = 'affirm-as-low-as';\n                affirmElement.dataset.pageType = 'category';\n                affirmElement.dataset.affirmType = '{{ logo_type }}';\n                affirmElement.dataset.affirmColor = '{{ line_color }}';\n                affirmElement.dataset.amount = convertToCents(priceElement.innerText);\n\n                const affirmElementContainer = document.createElement('div');\n                affirmElementContainer.className = 'affirm-banner';\n                affirmElementContainer.appendChild(affirmElement);\n\n                priceElement.after(affirmElementContainer);\n            });\n        }\n\n        initialize();\n\n        const productListingContainerSelector = {{{json category_banner_products_container_selector }}};\n        if (!productListingContainerSelector) {\n            return;\n        }\n\n        const containerElement = document.querySelector(productListingContainerSelector);\n        if (!containerElement) {\n            console.warn('Affirm: Products listing container not found on the page');\n            return;\n        }\n\n        // Observer is used to detect when products listing container is updated due to pagination\n        const observer = new MutationObserver(function (mutationsList) {\n            mutationsList.forEach(function () {\n\n                // If mutation in products listing container is detected, but Affirm banners are still present, do nothing\n                if (document.querySelectorAll('.affirm-as-low-as').length > 0 ) {\n                    return;\n                }\n\n                // If mutation in products listing container leads to new products being loaded - reinitialize Affirm banners\n                // Observer is disconnected for the duration of reinitialization to avoid triggering till the process is complete\n                observer.disconnect();\n                initialize();\n                affirm.ui.refresh();\n                connectObserver();\n            });\n        });\n\n        function connectObserver() {\n            observer.observe(containerElement, { childList: true, subtree: true });\n        }\n\n        connectObserver();\n    })();\n</script>\n{{/if}}",
      "date_created": "2025-02-19T15:30:11.155Z",
      "date_modified": "2025-02-19T15:30:11.155Z",
      "kind": "affirm-categorypage-productwidget",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "11d11949-f51a-4d3c-863b-337411fadfcc",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "7f4b6b4c-d55f-413d-a24a-193febbd12e6",
      "name": "BigCommerce Payments Credit Banner - Cart Page (728x90)",
      "schema": [],
      "template": "<style media=\"screen\">\n  #banner-region-{{ _.id }} {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n    width: 100%;\n    max-width: 728px;\n  }\n</style>\n\n<div id=\"banner-region-{{ _.id }}\">\n  <div data-pp-style-layout=\"flex\"\n       data-pp-style-color=\"white\"\n       data-pp-style-ratio=\"8x1\"\n       id=\"bigcommerce-payments-cart-messaging-banner\">\n  </div>\n</div>\n\n",
      "date_created": "2025-07-04T13:01:12.402Z",
      "date_modified": "2025-07-04T13:01:12.402Z",
      "kind": "bcp-cartpage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "607549a8-b64c-42cd-863e-2382bb637a2a",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "e85cedf8-fc72-456b-99bb-ada8b9215a63",
      "name": "BigCommerce Payments Credit Banner - Cart Page (465x59)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{ ../_.id }} {\n    display: block;\n    clear: both;\n    float: right;\n    margin-bottom: 15px;\n    width: 460px;\n    max-width: 100%;\n  }\n</style>\n\n<div id=\"banner-region-{{ ../_.id }}\">\n  <div\n    data-pp-style-logo-position=\"{{#if ../style.bcp-cartpage-quarterbanner.data-pp-style-logo-position}}{{../style.bcp-cartpage-quarterbanner.data-pp-style-logo-position}}{{else}}left{{/if}}\"\n    data-pp-style-logo-type=\"{{#if ../style.bcp-cartpage-quarterbanner.data-pp-style-logo-type}}{{../style.bcp-cartpage-quarterbanner.data-pp-style-logo-type}}{{else}}inline{{/if}}\"\n    data-pp-style-text-color=\"{{#if ../style.bcp-cartpage-quarterbanner.data-pp-style-text-color}}{{../style.bcp-cartpage-quarterbanner.data-pp-style-text-color}}{{else}}black{{/if}}\"\n    data-pp-style-text-size=\"{{#if ../style.bcp-cartpage-quarterbanner.data-pp-style-text-size}}{{../style.bcp-cartpage-quarterbanner.data-pp-style-text-size}}{{else}}12{{/if}}\"\n    id=\"bigcommerce-payments-cart-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    (function () {\n      const dataCartTotals = document.querySelector('[data-cart-totals]');\n\n      if (dataCartTotals) {\n        renderMessageIfPossible();\n\n        const config = {\n          childList: true,\n        };\n\n        const observer = new MutationObserver((mutationsList) => {\n          mutationsList.forEach(function (mutation) {\n            if (getGrandTotalContainer(mutation.target)) {\n              renderMessageIfPossible();\n            }\n          });\n        });\n\n        observer.observe(dataCartTotals, config);\n      }\n\n      function renderMessageIfPossible() {\n        const amount = getPriceAmount(getGrandTotalContainer(dataCartTotals).innerText)[0];\n\n        if (amount) {\n          renderMessage({\n            amount\n          });\n        }\n      }\n\n      function getPriceAmount(text) {\n        /*\n         INFO:\n         - extracts a string from a pattern: [number][separator][number][separator]...\n           [separator] - any symbol but a digit, including whitespaces\n         */\n        const pattern = /\\d+(?:[^\\d]\\d+)+(?!\\d)/g;\n        const matches = text.match(pattern);\n        const results = [];\n\n        // if there are no matches\n        if (!matches?.length) {\n          const amount = text.replace(/[^\\d]/g, '');\n\n          if (!amount) return results;\n\n          results.push(amount);\n\n          return results;\n        }\n\n        matches.forEach(str => {\n          const sepIndexes = [];\n\n          for (let i = 0; i < str.length; i++) {\n            // find separator index and push to array\n            if (!/\\d/.test(str[i])) {\n              sepIndexes.push(i);\n            }\n          }\n          if (sepIndexes.length === 0) return;\n          // assume the last separator is the decimal\n          const decIndex = sepIndexes[sepIndexes.length - 1];\n\n          // cut the substr to the separator with replacing non-digit chars\n          const intSubstr = str.slice(0, decIndex).replace(/[^\\d]/g, '');\n          // cut the substr after the separator with replacing non-digit chars\n          const decSubstr = str.slice(decIndex + 1).replace(/[^\\d]/g, '');\n\n          if (!intSubstr) return;\n\n          const amount = decSubstr ? `${intSubstr}.${decSubstr}` : intSubstr;\n          // to get floating point number\n          const number = parseFloat(amount);\n\n          if (!isNaN(number)) {\n            results.push(String(number));\n          }\n        });\n\n        return results;\n      }\n\n      function getGrandTotalContainer(parent) {\n        if (parent) {\n          return parent.querySelector('.cart-total-grandTotal');\n        }\n\n        return document.querySelector('.cart-total-grandTotal');\n      }\n\n      function loadScript(src, attributes) {\n        return new Promise((resolve, reject) => {\n          const scriptTag = document.createElement('script');\n\n          if (attributes) {\n            Object.keys(attributes)\n                    .forEach(key => {\n                      scriptTag.setAttribute(key, attributes[key]);\n                    });\n          }\n\n          scriptTag.type = 'text/javascript';\n          scriptTag.src = src;\n\n          scriptTag.onload = () => resolve();\n          scriptTag.onerror = event => {\n            reject(event);\n          };\n\n          document.head.appendChild(scriptTag);\n        });\n      }\n\n      function renderMessage(objectParams) {\n        const paypalSdkScriptConfig = getPayPalSdkScriptConfig();\n\n        const options = transformConfig(paypalSdkScriptConfig.options);\n        const attributes = transformConfig(paypalSdkScriptConfig.attributes);\n\n        const messageProps = { placement: 'cart', style: 'text', ...objectParams };\n\n        const renderPayPalMessagesComponent = (paypal) => {\n          paypal.Messages(messageProps).render('#bigcommerce-payments-cart-messaging-banner');\n        };\n\n        if (options['client-id'] && options['merchant-id']) {\n          if (!window.paypalMessages) {\n            const paypalSdkUrl = 'https://www.paypal.com/sdk/js';\n            const scriptQuery = new URLSearchParams(options).toString();\n            const scriptSrc = `${paypalSdkUrl}?${scriptQuery}`;\n\n            loadScript(scriptSrc, attributes).then(() => {\n              renderPayPalMessagesComponent(window.paypalMessages);\n            });\n          } else {\n            renderPayPalMessagesComponent(window.paypalMessages)\n          }\n        }\n      }\n\n      function transformConfig(config) {\n        let transformedConfig = {};\n\n        const keys = Object.keys(config);\n\n        keys.forEach((key) => {\n          const value = config[key];\n\n          if (\n                  value === undefined ||\n                  value === null ||\n                  value === '' ||\n                  (Array.isArray(value) && value.length === 0)\n          ) {\n            return;\n          }\n\n          transformedConfig = {\n            ...transformedConfig,\n            [key]: Array.isArray(value) ? value.join(',') : value,\n          };\n        });\n\n        return transformedConfig;\n      }\n\n      function getPayPalSdkScriptConfig() {\n        const attributionId = '{{ ../attribution_id }}';\n        const currencyCode = '{{ merchant.currency }}';\n        const clientId = '{{ merchant.clientId }}';\n        const merchantId = '{{ merchant.merchantId}}';\n\n        return {\n          options: {\n            'client-id': clientId,\n            'merchant-id': merchantId,\n            components: ['messages'],\n            currency: currencyCode,\n          },\n          attributes: {\n            'data-namespace': 'paypalMessages',\n            'data-partner-attribution-id': attributionId,\n          },\n        };\n      }\n    })();\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2025-07-04T13:03:16.626Z",
      "date_modified": "2025-07-04T13:03:16.626Z",
      "kind": "bcp-cartpage-quarterbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "225e9fc5-1369-4713-af93-8dcf00b6f286",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "7a456159-6521-41c2-aa68-4cbf8db61119",
      "name": "BigCommerce Payments Credit Banner - Home Page (728x90)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{ ../_.id }} {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n    width: 100%;\n    max-width: 728px;\n  }\n</style>\n\n<div id=\"banner-region-{{ ../_.id }}\">\n  <div\n    data-pp-message\n    data-pp-style-layout=\"flex\"\n    data-pp-style-color=\"{{#if ../style.bcp-homepage-fullbanner.data-pp-style-color}}{{../style.bcp-homepage-fullbanner.data-pp-style-color}}{{else}}white{{/if}}\"\n    data-pp-style-ratio=\"{{#if ../style.bcp-homepage-fullbanner.data-pp-style-ratio}}{{../style.bcp-homepage-fullbanner.data-pp-style-ratio}}{{else}}8x1{{/if}}\"\n    id=\"bigcommerce-payments-homepage-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    function renderMessage() {\n      const params = {\n        'merchant-id': '{{merchant.merchantId}}',\n        'client-id': '{{merchant.clientId}}',\n        'data-partner-attribution-id': '{{../attribution_id}}',\n        components: ['messages', 'buttons'],\n      };\n\n      if (params['client-id'] && params['merchant-id']) {\n        window.paypalLoadScript(params)\n          .then(bigcommerce => {\n            bigcommerce.Messages({ placement: 'home' }).render('#bigcommerce-payments-homepage-messaging-banner');\n          });\n      }\n    }\n\n    (function () {\n      if (window.paypalLoadScript) {\n        renderMessage();\n        return;\n      }\n\n      const script = document.createElement('script');\n      script.type = 'text/javascript';\n      script.src = 'https://unpkg.com/@paypal/paypal-js@4.1.0/dist/iife/paypal-js.min.js';\n      script.onload = function () {\n        if (window.paypalLoadScript) {\n          renderMessage();\n        }\n      };\n\n      const container = document.getElementById(`banner-region-{{ ../_.id }}`);\n\n      if (container) {\n        container.appendChild(script);\n      }\n    })();\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2025-07-04T13:04:54.739Z",
      "date_modified": "2025-07-04T13:04:54.739Z",
      "kind": "bcp-homepage-fullbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "b776e3e1-f8a2-4275-b814-52433c57f0e4",
      "channel_id": 0,
      "schema_translations": {}
    },
    {
      "uuid": "ddc5b230-2e55-43d7-94ae-ad2f40065a23",
      "name": "BigCommerce Payments Credit Banner - Product Details Page (545x60)",
      "schema": [],
      "template": "{{#each merchant_info as |merchant|}}\n{{#if merchant.currency '===' ../_.context.activeCurrencyCode}}\n<style media=\"screen\">\n  #banner-region-{{ ../_.id }} {\n    display: block;\n    width: 100%;\n    max-width: 545px;\n  }\n</style>\n\n<div id=\"banner-region-{{ ../_.id }}\">\n  <div\n    data-pp-message\n    data-pp-style-logo-position=\"{{#if ../style.bcp-proddetailspage-quarterbanner.data-pp-style-logo-position}}{{../style.bcp-proddetailspage-quarterbanner.data-pp-style-logo-position}}{{else}}left{{/if}}\"\n    data-pp-style-logo-type=\"{{#if ../style.bcp-proddetailspage-quarterbanner.data-pp-style-logo-type}}{{../style.bcp-proddetailspage-quarterbanner.data-pp-style-logo-type}}{{else}}inline{{/if}}\"\n    data-pp-style-text-color=\"{{#if ../style.bcp-proddetailspage-quarterbanner.data-pp-style-text-color}}{{../style.bcp-proddetailspage-quarterbanner.data-pp-style-text-color}}{{else}}black{{/if}}\"\n    data-pp-style-text-size=\"{{#if ../style.bcp-proddetailspage-quarterbanner.data-pp-style-text-size}}{{../style.bcp-proddetailspage-quarterbanner.data-pp-style-text-size}}{{else}}12{{/if}}\"\n    id=\"bigcommerce-payments-proddetails-messaging-banner\">\n  </div>\n  <script defer nonce=\"{{nonce}}\">\n    (function () {\n      const bannerContainer = document.getElementById('bigcommerce-payments-proddetails-messaging-banner');\n      const bannerOriginalDisplay = getComputedStyle(bannerContainer).display;\n\n      // Price container with data-product-price-with-tax has bigger priority for product amount calculations\n      const priceContainer = document.querySelector('[data-product-price-with-tax]')?.innerText\n        ? document.querySelector('[data-product-price-with-tax]')\n        : document.querySelector('[data-product-price-without-tax]');\n\n      if (priceContainer) {\n        renderMessageIfPossible();\n\n        const config = {\n          childList: true,    // Observe direct child elements\n          subtree: true,      // Observe all descendants\n          attributes: false,  // Do not observe attribute changes\n        };\n\n        const observer = new MutationObserver((mutationsList) => {\n          if (mutationsList.length > 0) {\n            renderMessageIfPossible();\n          }\n        });\n\n        observer.observe(priceContainer, config);\n      }\n\n      function renderMessageIfPossible() {\n        const amounts = getPriceAmount(priceContainer.innerText);\n\n        // Hide banner when price is not finalized (e.g., price range)\n        if (amounts.length > 1) {\n          bannerContainer.style.display = 'none';\n          return;\n        }\n\n        if (amounts[0]) {\n          bannerContainer.style.display = bannerOriginalDisplay;\n          renderMessage(amounts[0]);\n        }\n      }\n\n      function getPriceAmount(text) {\n        /*\n         INFO:\n         - extracts a string from a pattern: [number][separator][number][separator]...\n           [separator] - any symbol but a digit, including whitespaces\n         */\n        const pattern = /\\d+(?:[^\\d]\\d+)+(?!\\d)/g;\n        const matches = text.match(pattern);\n        const results = [];\n\n        // if there are no matches\n        if (!matches?.length) {\n          const amount = text.replace(/[^\\d]/g, '');\n\n          if (!amount) return results;\n\n          results.push(amount);\n\n          return results;\n        }\n\n        matches.forEach(str => {\n          const sepIndexes = [];\n\n          for (let i = 0; i < str.length; i++) {\n            // find separator index and push to array\n            if (!/\\d/.test(str[i])) {\n              sepIndexes.push(i);\n            }\n          }\n          if (sepIndexes.length === 0) return;\n          // assume the last separator is the decimal\n          const decIndex = sepIndexes[sepIndexes.length - 1];\n\n          // cut the substr to the separator with replacing non-digit chars\n          const intSubstr = str.slice(0, decIndex).replace(/[^\\d]/g, '');\n          // cut the substr after the separator with replacing non-digit chars\n          const decSubstr = str.slice(decIndex + 1).replace(/[^\\d]/g, '');\n\n          if (!intSubstr) return;\n\n          const amount = decSubstr ? `${intSubstr}.${decSubstr}` : intSubstr;\n          // to get floating point number\n          const number = parseFloat(amount);\n\n          if (!isNaN(number)) {\n            results.push(String(number));\n          }\n        });\n\n        return results;\n      }\n\n      function loadScript(src, attributes) {\n        return new Promise((resolve, reject) => {\n          const scriptTag = document.createElement('script');\n\n          if (attributes) {\n            Object.keys(attributes)\n              .forEach(key => {\n                scriptTag.setAttribute(key, attributes[key]);\n              });\n          }\n\n          scriptTag.type = 'text/javascript';\n          scriptTag.src = src;\n\n          scriptTag.onload = () => resolve();\n          scriptTag.onerror = event => {\n            reject(event);\n          };\n\n          document.head.appendChild(scriptTag);\n        });\n      }\n\n      function renderMessage(objectParams) {\n        const paypalSdkScriptConfig = getPayPalSdkScriptConfig();\n\n        const options = transformConfig(paypalSdkScriptConfig.options);\n        const attributes = transformConfig(paypalSdkScriptConfig.attributes);\n\n        const messageProps = { placement: 'product', ...objectParams };\n\n        const renderPayPalMessagesComponent = (bigcommerce) => {\n          bigcommerce.Messages(messageProps).render('#bigcommerce-payments-proddetails-messaging-banner');\n        };\n\n        if (options['client-id'] && options['merchant-id']) {\n          if (!window.paypalMessages) {\n            const paypalSdkUrl = 'https://www.paypal.com/sdk/js';\n            const scriptQuery = new URLSearchParams(options).toString();\n            const scriptSrc = `${paypalSdkUrl}?${scriptQuery}`;\n\n            loadScript(scriptSrc, attributes).then(() => {\n              renderPayPalMessagesComponent(window.paypalMessages);\n            });\n          } else {\n            renderPayPalMessagesComponent(window.paypalMessages)\n          }\n        }\n      }\n\n      function transformConfig(config) {\n        let transformedConfig = {};\n\n        const keys = Object.keys(config);\n\n        keys.forEach((key) => {\n          const value = config[key];\n\n          if (\n            value === undefined ||\n            value === null ||\n            value === '' ||\n            (Array.isArray(value) && value.length === 0)\n          ) {\n            return;\n          }\n\n          transformedConfig = {\n            ...transformedConfig,\n            [key]: Array.isArray(value) ? value.join(',') : value,\n          };\n        });\n\n        return transformedConfig;\n      }\n\n      function getPayPalSdkScriptConfig() {\n        const attributionId = '{{ ../attribution_id }}';\n        const currencyCode = '{{ merchant.currency }}';\n        const clientId = '{{ merchant.clientId }}';\n        const merchantId = '{{ merchant.merchantId}}';\n\n        return {\n          options: {\n            'client-id': clientId,\n            'merchant-id': merchantId,\n            components: ['messages'],\n            currency: currencyCode,\n          },\n          attributes: {\n            'data-namespace': 'paypalMessages',\n            'data-partner-attribution-id': attributionId,\n          },\n        };\n      }\n    })();\n  </script>\n</div>\n{{/if}}\n{{/each}}\n",
      "date_created": "2025-07-04T13:06:36.238Z",
      "date_modified": "2025-07-04T13:06:36.238Z",
      "kind": "bcp-proddetailspage-quarterbanner",
      "storefront_api_query": "",
      "icon_name": "default",
      "template_engine": "handlebars_v3",
      "client_rerender": false,
      "current_version_uuid": "eff1a913-b81e-4d79-8c69-1448415f0ef2",
      "channel_id": 0,
      "schema_translations": {}
    }
  ],
  "summary": {
    "totalTemplates": 2,
    "totalWidgets": 0,
    "totalWidgetTemplates": 39,
    "uniqueWidgetTemplates": 0,
    "widgetTemplates": []
  }
}
