{"title":"Web Design \u0026 Development Florida","description":"\u003ch2\u003eProfessional Web Design \u0026amp; Development Services in Florida.\u003c\/h2\u003e\n\u003cp\u003eNeedAWebNow provides high-performance website design and professional development services for businesses across \u003cstrong\u003eMiami, Orlando, and the broader Central and South Florida regions\u003c\/strong\u003e. Our team specializes in creating responsive, conversion-focused digital experiences that align with your brand's growth objectives.\u003c\/p\u003e\n\n\u003cp\u003eYour website is often the first impression potential customers have of your business. Our web design and development services in Florida ensure that impression is powerful, professional, and persuasive. We combine beautiful aesthetics with strategic functionality, creating websites that don't just look great but actually convert visitors into customers across Miami and Orlando.\u003c\/p\u003e\n\n\u003ch3\u003eComprehensive Web Solutions\u003c\/h3\u003e\n\u003cp\u003eWe deliver a full spectrum of web services designed to thrive in the modern digital economy:\u003c\/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCustom Website Design:\u003c\/strong\u003e Tailored brand identities for companies in Miami and Orlando.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eE-Commerce Development:\u003c\/strong\u003e Robust Shopify and WooCommerce stores for Florida-based retailers.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eCorporate Web Platforms:\u003c\/strong\u003e Scalable, authoritative websites for professional firms and enterprises.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eWebsite Redesign:\u003c\/strong\u003e Modernizing legacy sites to improve user experience and search engine visibility.\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong\u003eConversion Optimization:\u003c\/strong\u003e Landing pages and user interfaces designed to turn visitors into loyal customers.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eWhy Partner with NeedAWebNow in Florida?\u003c\/h3\u003e\n\u003cp\u003eThe Florida market is highly competitive. Whether you are a startup in Orlando or an established firm in Miami, your website must be more than just a digital business card—it must be a powerful sales tool. We combine local market expertise with global design standards to ensure your business stands out across the Florida region.\u003c\/p\u003e\n\n\u003cp\u003eProfessional web design goes beyond aesthetics. We create websites with clear calls-to-action, fast loading times, secure payment processing, and search engine optimization built in. Every element serves your business objectives, whether that's capturing leads, selling products, or establishing credibility in the Florida market.\u003c\/p\u003e\n\n\u003cp\u003eReady to elevate your online presence? \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today\u003c\/a\u003e\u003c\/strong\u003e and discover how our custom web solutions can transform your business results.\u003c\/p\u003e\n\n\u003cscript type=\"application\/ld+json\"\u003e\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Service\",\n  \"name\": \"Professional Web Design \u0026 Development\",\n  \"serviceType\": \"Web Design, Web Development, E-Commerce, SEO\",\n  \"provider\": {\n    \"@type\": \"LocalBusiness\",\n    \"name\": \"NeedAWebNow\",\n    \"url\": \"https:\/\/needawebnow.com\",\n    \"areaServed\": [\n      {\"@type\": \"City\", \"name\": \"Miami\"},\n      {\"@type\": \"City\", \"name\": \"Orlando\"},\n      {\"@type\": \"State\", \"name\": \"Florida\"}\n    ]\n  },\n  \"description\": \"Premium web design and development services for businesses in Miami, Orlando, and across Central and South Florida.\",\n  \"hasOfferCatalog\": {\n    \"@type\": \"OfferCatalog\",\n    \"name\": \"Web Services Catalog\",\n    \"itemListElement\": [\n      { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"Custom Website Design\" }},\n      { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"E-Commerce Development\" }},\n      { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"Corporate Websites\" }},\n      { \"@type\": \"Offer\", \"itemOffered\": { \"@type\": \"Service\", \"name\": \"Website Redesign\" }}\n    ]\n  }\n}\n\u003c\/script\u003e","products":[{"product_id":"starter-website-package","title":"Starter Website Package","description":"\u003cp\u003eOur \u003cstrong\u003eStarter Web Design\u003c\/strong\u003e package is perfect for small businesses in \u003cstrong\u003eMiami and Orlando\u003c\/strong\u003e.\u003c\/p\u003e\n\n\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; display: flex; align-items: center; }\n.addon-title:hover { color: #000; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.1s ease; min-width: 85px; }\n.addon-btn.added { background: #28a745 !important; }\n.addon-btn.added:hover { background: #c82333 !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104206432\" onclick=\"toggleAddon(42712104206432, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX11: High-speed cloud server for small sites.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104239200\" onclick=\"toggleAddon(42712104239200, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX21: Scalable business server for growing traffic.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104304736\" onclick=\"toggleAddon(42712104304736, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX31: Enterprise-grade node for maximum availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566836320\" onclick=\"toggleAddon(42682566836320, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEssential security, backups, and monthly updates.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566738016\" onclick=\"toggleAddon(42682566738016, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Care Plan + 2 hours of edits and SEO health checks.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566770784\" onclick=\"toggleAddon(42682566770784, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Starter Plan + 4 hours of edits and performance optimization.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566803552\" onclick=\"toggleAddon(42682566803552, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFull partnership with VIP support and priority fixes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754946144\" onclick=\"toggleAddon(42712754946144, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFirst full project draft delivered within 72 business hours.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754978912\" onclick=\"toggleAddon(42712754978912, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eAdd an immersive scrolling page with cinematic depth.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eADA Disabilities Compliance —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42682567491680\" onclick=\"toggleAddon(42682567491680, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEnsure your site is legally compliant and accessible.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eBranding Package —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197061216\" onclick=\"toggleAddon(42671197061216, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eComplete visual identity including logo and style guide.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eProfessional Copywriting —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197552736\" onclick=\"toggleAddon(42671197552736, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003ePersuasive, SEO-optimized copy for up to 5 pages.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eAdvanced SEO Setup —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671189426272\" onclick=\"toggleAddon(42671189426272, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eDeep optimization including schema and local citations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const CURRENT_PID = \"7676269723744\";\n    const MAINT_VIDS = [42682566836320,42682566738016,42682566770784,42682566803552];\n    const HOST_VIDS = [42712104206432,42712104239200,42712104304736];\n    const SHARED_SELLING_PLAN = 1443889248;\n\n    window.toggleDetails = function(el) {\n        if (!el) return;\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = info.style.display === 'block' ? 'none' : 'block';\n    };\n\n    function updateLocalBubbles(newCount) {\n        const countEls = document.querySelectorAll('.cart-bubble__text-count, .cart-count, #cart-icon-bubble span');\n        countEls.forEach(el =\u003e { \n            el.innerText = newCount;\n            el.classList.remove('hidden', 'visually-hidden');\n        });\n        const bubble = document.querySelector('.cart-bubble');\n        if (bubble) bubble.classList.remove('visually-hidden');\n    }\n\n    async function syncAddonButtons() {\n        try {\n            const res = await fetch('\/cart.js');\n            const cart = await res.json();\n            const activeVids = cart.items.map(item =\u003e item.id);\n\n            document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n                if (btn.getAttribute('data-busy') === 'true') return;\n                const vid = parseInt(btn.getAttribute('data-addon-id'));\n                if (activeVids.includes(vid)) {\n                    btn.innerText = '✓ Added';\n                    btn.style.background = '#28a745';\n                    btn.classList.add('added');\n                } else {\n                    btn.innerText = '+ Add';\n                    btn.style.background = '#000';\n                    btn.classList.remove('added');\n                }\n            });\n            updateLocalBubbles(cart.item_count);\n        } catch (e) {}\n    }\n\n    async function updateThemeVisuals() {\n        const headerEl = document.querySelector('.cart-items-component');\n        const sectionId = headerEl?.getAttribute('data-section-id') || 'sections--17721503973472__header_section';\n        const res = await fetch(`\/?sections=${sectionId}`);\n        const data = await res.json();\n\n        if (data \u0026\u0026 data[sectionId] \u0026\u0026 headerEl) {\n            const parser = new DOMParser();\n            const htmlDoc = parser.parseFromString(data[sectionId], 'text\/html');\n            const newContent = htmlDoc.querySelector('.cart-items-component');\n            if (newContent) headerEl.innerHTML = newContent.innerHTML;\n            const dialog = document.querySelector('.cart-drawer__dialog');\n            if (dialog) dialog.classList.remove('cart-drawer--empty');\n        }\n\n        const cartRes = await fetch('\/cart.js');\n        const cart = await cartRes.json();\n        if (window.cartNotification) window.cartNotification.renderContents(cart);\n        if (window.cartDrawer \u0026\u0026 typeof window.cartDrawer.renderContents === 'function') window.cartDrawer.renderContents(cart);\n        document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true, detail: cart }));\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        const wasAdded = btn.classList.contains('added');\n        const countEl = document.querySelector('.cart-bubble__text-count');\n        const currentCount = parseInt(countEl?.innerText || '0');\n\n        btn.setAttribute('data-busy', 'true');\n        \n        \/\/ HYPER-FAST UI TOGGLE\n        if (wasAdded) {\n            btn.innerText = '+ Add';\n            btn.style.background = '#000';\n            btn.classList.remove('added');\n            updateLocalBubbles(Math.max(0, currentCount - 1));\n        } else {\n            btn.innerText = '✓ Added';\n            btn.style.background = '#28a745';\n            btn.classList.add('added');\n            updateLocalBubbles(currentCount + 1);\n        }\n\n        try {\n            const cartRes = await fetch('\/cart.js');\n            const cart = await cartRes.json();\n            \n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ id: String(item.key), quantity: 0 }) });\n            } else {\n                const idsToRemove = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const updates = {};\n                cart.items.forEach(item =\u003e { if (idsToRemove.includes(item.id)) updates[item.key] = 0; });\n                if (Object.keys(updates).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ updates: updates }) });\n                \n                const addPayload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') addPayload['selling_plan'] = SHARED_SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ items: [addPayload] }) });\n            }\n            await updateThemeVisuals();\n        } catch (e) { \n            console.error(\"Sync error\", e);\n            syncAddonButtons(); \/\/ Revert on actual error\n        } finally {\n            btn.setAttribute('data-busy', 'false');\n        }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncAddonButtons);\n    setInterval(syncAddonButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eDeliverable\u003c\/th\u003e\n\u003cth\u003eDetail and Specification\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eWebsite Scope\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e3-Page fully responsive website.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eProcess\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e1 round of design revisions.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSearch Engine Optimization\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eOn-page essentials.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eUpgrade anytime — your  investment applies as a credit.\u003c\/p\u003e\n\n\u003ch3\u003eFlorida's Trusted Web Partner\u003c\/h3\u003e\n\u003cp\u003eNeedAWebNow provides expert web services from Miami to Orlando. \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today.\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715186167904,"sku":null,"price":1200.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/Starter_Website_Package.png?v=1776324274"},{"product_id":"custom-website-design","title":"Custom Website Design","description":"\u003cp\u003ePremium \u003cstrong\u003eCustom Web Design\u003c\/strong\u003e for companies across \u003cstrong\u003eFlorida\u003c\/strong\u003e.\u003c\/p\u003e\n\n\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; display: flex; align-items: center; }\n.addon-title:hover { color: #000; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.1s ease; min-width: 85px; }\n.addon-btn.added { background: #28a745 !important; }\n.addon-btn.added:hover { background: #c82333 !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104206432\" onclick=\"toggleAddon(42712104206432, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX11: High-speed cloud server for small sites.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104239200\" onclick=\"toggleAddon(42712104239200, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX21: Scalable business server for growing traffic.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104304736\" onclick=\"toggleAddon(42712104304736, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX31: Enterprise-grade node for maximum availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566836320\" onclick=\"toggleAddon(42682566836320, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEssential security, backups, and monthly updates.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566738016\" onclick=\"toggleAddon(42682566738016, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Care Plan + 2 hours of edits and SEO health checks.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566770784\" onclick=\"toggleAddon(42682566770784, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Starter Plan + 4 hours of edits and performance optimization.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566803552\" onclick=\"toggleAddon(42682566803552, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFull partnership with VIP support and priority fixes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754946144\" onclick=\"toggleAddon(42712754946144, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFirst full project draft delivered within 72 business hours.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754978912\" onclick=\"toggleAddon(42712754978912, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eAdd an immersive scrolling page with cinematic depth.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eADA Disabilities Compliance —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42682567491680\" onclick=\"toggleAddon(42682567491680, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEnsure your site is legally compliant and accessible.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eBranding Package —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197061216\" onclick=\"toggleAddon(42671197061216, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eComplete visual identity including logo and style guide.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eProfessional Copywriting —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197552736\" onclick=\"toggleAddon(42671197552736, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003ePersuasive, SEO-optimized copy for up to 5 pages.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eAdvanced SEO Setup —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671189426272\" onclick=\"toggleAddon(42671189426272, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eDeep optimization including schema and local citations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const CURRENT_PID = \"7676288172128\";\n    const MAINT_VIDS = [42682566836320,42682566738016,42682566770784,42682566803552];\n    const HOST_VIDS = [42712104206432,42712104239200,42712104304736];\n    const SHARED_SELLING_PLAN = 1443889248;\n\n    window.toggleDetails = function(el) {\n        if (!el) return;\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = info.style.display === 'block' ? 'none' : 'block';\n    };\n\n    function updateLocalBubbles(newCount) {\n        const countEls = document.querySelectorAll('.cart-bubble__text-count, .cart-count, #cart-icon-bubble span');\n        countEls.forEach(el =\u003e { \n            el.innerText = newCount;\n            el.classList.remove('hidden', 'visually-hidden');\n        });\n        const bubble = document.querySelector('.cart-bubble');\n        if (bubble) bubble.classList.remove('visually-hidden');\n    }\n\n    async function syncAddonButtons() {\n        try {\n            const res = await fetch('\/cart.js');\n            const cart = await res.json();\n            const activeVids = cart.items.map(item =\u003e item.id);\n\n            document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n                if (btn.getAttribute('data-busy') === 'true') return;\n                const vid = parseInt(btn.getAttribute('data-addon-id'));\n                if (activeVids.includes(vid)) {\n                    btn.innerText = '✓ Added';\n                    btn.style.background = '#28a745';\n                    btn.classList.add('added');\n                } else {\n                    btn.innerText = '+ Add';\n                    btn.style.background = '#000';\n                    btn.classList.remove('added');\n                }\n            });\n            updateLocalBubbles(cart.item_count);\n        } catch (e) {}\n    }\n\n    async function updateThemeVisuals() {\n        const headerEl = document.querySelector('.cart-items-component');\n        const sectionId = headerEl?.getAttribute('data-section-id') || 'sections--17721503973472__header_section';\n        const res = await fetch(`\/?sections=${sectionId}`);\n        const data = await res.json();\n\n        if (data \u0026\u0026 data[sectionId] \u0026\u0026 headerEl) {\n            const parser = new DOMParser();\n            const htmlDoc = parser.parseFromString(data[sectionId], 'text\/html');\n            const newContent = htmlDoc.querySelector('.cart-items-component');\n            if (newContent) headerEl.innerHTML = newContent.innerHTML;\n            const dialog = document.querySelector('.cart-drawer__dialog');\n            if (dialog) dialog.classList.remove('cart-drawer--empty');\n        }\n\n        const cartRes = await fetch('\/cart.js');\n        const cart = await cartRes.json();\n        if (window.cartNotification) window.cartNotification.renderContents(cart);\n        if (window.cartDrawer \u0026\u0026 typeof window.cartDrawer.renderContents === 'function') window.cartDrawer.renderContents(cart);\n        document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true, detail: cart }));\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        const wasAdded = btn.classList.contains('added');\n        const countEl = document.querySelector('.cart-bubble__text-count');\n        const currentCount = parseInt(countEl?.innerText || '0');\n\n        btn.setAttribute('data-busy', 'true');\n        \n        \/\/ HYPER-FAST UI TOGGLE\n        if (wasAdded) {\n            btn.innerText = '+ Add';\n            btn.style.background = '#000';\n            btn.classList.remove('added');\n            updateLocalBubbles(Math.max(0, currentCount - 1));\n        } else {\n            btn.innerText = '✓ Added';\n            btn.style.background = '#28a745';\n            btn.classList.add('added');\n            updateLocalBubbles(currentCount + 1);\n        }\n\n        try {\n            const cartRes = await fetch('\/cart.js');\n            const cart = await cartRes.json();\n            \n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ id: String(item.key), quantity: 0 }) });\n            } else {\n                const idsToRemove = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const updates = {};\n                cart.items.forEach(item =\u003e { if (idsToRemove.includes(item.id)) updates[item.key] = 0; });\n                if (Object.keys(updates).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ updates: updates }) });\n                \n                const addPayload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') addPayload['selling_plan'] = SHARED_SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ items: [addPayload] }) });\n            }\n            await updateThemeVisuals();\n        } catch (e) { \n            console.error(\"Sync error\", e);\n            syncAddonButtons(); \/\/ Revert on actual error\n        } finally {\n            btn.setAttribute('data-busy', 'false');\n        }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncAddonButtons);\n    setInterval(syncAddonButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eDeliverable\u003c\/th\u003e\n\u003cth\u003eDetail and Specification\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eCustom Design\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e100% unique brand identity and layout.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOptimization\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eFull Search Engine Optimization setup.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eFlorida's Trusted Web Partner\u003c\/h3\u003e\n\u003cp\u003eNeedAWebNow provides expert web services from Miami to Orlando. \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today.\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715135148128,"sku":null,"price":2500.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/Custom_Website_Design.png?v=1776324259"},{"product_id":"one-page-website","title":"One Page Website","description":"\u003cdiv class=\"cro-enhancement\"\u003e\n\u003cdiv id=\"shopify-section-product-template\" style=\"display:none !important;\"\u003e\u003c\/div\u003e\n\u003cp\u003eLaunch your business with a high-impact, conversion-focused One Page Website.\u003c\/p\u003e\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.2s ease; min-width: 95px; font-weight: 600; border: none; outline: none !important; }\n.addon-btn.added { background: #28a745 !important; color: #fff !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715134787680\" onclick=\"toggleAddon(42715134787680, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715134722144\" onclick=\"toggleAddon(42715134722144, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715134754912\" onclick=\"toggleAddon(42715134754912, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715186823264\" onclick=\"toggleAddon(42715186823264, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715135606880\" onclick=\"toggleAddon(42715135606880, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715135213664\" onclick=\"toggleAddon(42715135213664, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715135574112\" onclick=\"toggleAddon(42715135574112, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) — \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715181547616\" onclick=\"toggleAddon(42715181547616, this, 'addon')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page — \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715185119328\" onclick=\"toggleAddon(42715185119328, this, 'addon')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const MAINT_VIDS = [42715186823264, 42715135606880, 42715135213664, 42715135574112];\n    const HOST_VIDS = [42715134787680, 42715134722144, 42715134754912];\n    const SELLING_PLAN = 1443889248;\n    const SECTION_ID = 'sections--17721503973472__header_section';\n\n    window.toggleDetails = function(el) {\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = (info.style.display === 'block') ? 'none' : 'block';\n    };\n\n    function forceShowBubble(count) {\n        const bubble = document.querySelector('.cart-bubble');\n        const countSpan = document.querySelector('.cart-bubble__text-count');\n        if (bubble) bubble.classList.remove('visually-hidden', 'hidden');\n        if (countSpan) {\n            countSpan.innerText = count;\n            countSpan.classList.remove('hidden');\n        }\n        document.querySelectorAll('.cart-count-bubble span').forEach(el =\u003e {\n            el.innerText = count;\n            el.classList.remove('hidden');\n        });\n    }\n\n    async function refreshUI() {\n        try {\n            const res = await fetch('\/?sections=' + SECTION_ID);\n            const data = await res.json();\n            const html = data[SECTION_ID];\n            if (html) {\n                const parser = new DOMParser();\n                const doc = parser.parseFromString(html, 'text\/html');\n                \n                \/\/ 1. Update Bubble\n                const newBubble = doc.querySelector('#cart-icon-bubble');\n                if (newBubble) document.querySelector('#cart-icon-bubble').innerHTML = newBubble.innerHTML;\n\n                \/\/ 2. Update Drawer\n                const newDrawer = doc.querySelector('cart-drawer-component');\n                const oldDrawer = document.querySelector('cart-drawer-component');\n                if (newDrawer \u0026\u0026 oldDrawer) oldDrawer.innerHTML = newDrawer.innerHTML;\n                \n                \/\/ 3. Clear empty states\n                document.querySelector('.cart-drawer__dialog')?.classList.remove('cart-drawer--empty');\n            }\n            const cart = await (await fetch('\/cart.js')).json();\n            forceShowBubble(cart.item_count);\n            \n            \/\/ 4. Trigger theme events\n            document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true }));\n            \n            \/\/ 5. Open drawer\n            const drawer = document.querySelector('cart-drawer-component');\n            if (drawer \u0026\u0026 typeof drawer.open === 'function') drawer.open();\n            else document.querySelector('.header__icon--cart')?.click();\n            \n        } catch (e) {}\n    }\n\n    async function syncButtons() {\n        const cart = await (await fetch('\/cart.js')).json();\n        const activeIds = cart.items.map(i =\u003e i.id);\n        document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n            if (btn.dataset.busy === 'true') return;\n            const active = activeIds.includes(parseInt(btn.dataset.addonId));\n            btn.innerText = active ? '✓ Added' : '+ Add';\n            btn.style.background = active ? '#28a745' : '#000';\n            btn.classList.toggle('added', active);\n        });\n        forceShowBubble(cart.item_count);\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        if (btn.disabled) return;\n        btn.disabled = true; btn.dataset.busy = 'true';\n        const wasAdded = btn.classList.contains('added');\n\n        try {\n            const cart = await (await fetch('\/cart.js')).json();\n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: {'Content-Type':'application\/json'}, body: JSON.stringify({id: String(item.key), quantity: 0}) });\n            } else {\n                const group = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const toRemove = {};\n                cart.items.forEach(i =\u003e { if (group.includes(i.id)) toRemove[i.key] = 0; });\n                if (Object.keys(toRemove).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: {'Content-Type':'application\/json'}, body: JSON.stringify({updates: toRemove}) });\n                const payload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') payload.selling_plan = SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: {'Content-Type':'application\/json'}, body: JSON.stringify({items: [payload]}) });\n            }\n            setTimeout(async () =\u003e {\n                await refreshUI();\n                await syncButtons();\n                btn.disabled = false; btn.dataset.busy = 'false';\n            }, 600);\n        } catch (e) { btn.disabled = false; btn.dataset.busy = 'false'; }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncButtons);\n    setInterval(syncButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included:\u003c\/h3\u003e\n\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\n\u003ctd\u003eDesign\u003c\/td\u003e\n\u003ctd\u003eModern One Page layout.\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\n\u003c\/div\u003e","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715184824416,"sku":null,"price":1200.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/One_Page_Website_41902094-057e-47e1-a070-9268dc97133c.png?v=1776324269"},{"product_id":"e-commerce-woocommerce","title":"E-Commerce \/ WooCommerce","description":"\u003cdiv class=\"cro-enhancement\"\u003e\n\u003cdiv id=\"shopify-section-product-template\" style=\"display:none !important;\"\u003e\u003c\/div\u003e\n\u003cp\u003ePerfect for small businesses in Miami looking for a professional start.\u003c\/p\u003e\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.2s ease; min-width: 95px; font-weight: 600; border: none; outline: none !important; }\n.addon-btn.added { background: #28a745 !important; color: #fff !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715134787680\" onclick=\"toggleAddon(42715134787680, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715134722144\" onclick=\"toggleAddon(42715134722144, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715134754912\" onclick=\"toggleAddon(42715134754912, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715186823264\" onclick=\"toggleAddon(42715186823264, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715135606880\" onclick=\"toggleAddon(42715135606880, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715135213664\" onclick=\"toggleAddon(42715135213664, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715135574112\" onclick=\"toggleAddon(42715135574112, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) — \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715181547616\" onclick=\"toggleAddon(42715181547616, this, 'addon')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page — \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42715185119328\" onclick=\"toggleAddon(42715185119328, this, 'addon')\" style=\"background: #000; color: #fff; padding: 6px 14px; border-radius: 20px;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const MAINT_VIDS = [42715186823264, 42715135606880, 42715135213664, 42715135574112];\n    const HOST_VIDS = [42715134787680, 42715134722144, 42715134754912];\n    const SELLING_PLAN = 1443889248;\n    const SECTION_ID = 'sections--17721503973472__header_section';\n\n    window.toggleDetails = function(el) {\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = (info.style.display === 'block') ? 'none' : 'block';\n    };\n\n    function forceShowBubble(count) {\n        const bubble = document.querySelector('.cart-bubble');\n        const countSpan = document.querySelector('.cart-bubble__text-count');\n        if (bubble) bubble.classList.remove('visually-hidden', 'hidden');\n        if (countSpan) {\n            countSpan.innerText = count;\n            countSpan.classList.remove('hidden');\n        }\n        document.querySelectorAll('.cart-count-bubble span').forEach(el =\u003e {\n            el.innerText = count;\n            el.classList.remove('hidden');\n        });\n    }\n\n    async function refreshUI() {\n        try {\n            const res = await fetch('\/?sections=' + SECTION_ID);\n            const data = await res.json();\n            const html = data[SECTION_ID];\n            if (html) {\n                const parser = new DOMParser();\n                const doc = parser.parseFromString(html, 'text\/html');\n                \n                \/\/ 1. Update Bubble\n                const newBubble = doc.querySelector('#cart-icon-bubble');\n                if (newBubble) document.querySelector('#cart-icon-bubble').innerHTML = newBubble.innerHTML;\n\n                \/\/ 2. Update Drawer\n                const newDrawer = doc.querySelector('cart-drawer-component');\n                const oldDrawer = document.querySelector('cart-drawer-component');\n                if (newDrawer \u0026\u0026 oldDrawer) oldDrawer.innerHTML = newDrawer.innerHTML;\n                \n                \/\/ 3. Clear empty states\n                document.querySelector('.cart-drawer__dialog')?.classList.remove('cart-drawer--empty');\n            }\n            const cart = await (await fetch('\/cart.js')).json();\n            forceShowBubble(cart.item_count);\n            \n            \/\/ 4. Trigger theme events\n            document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true }));\n            \n            \/\/ 5. Open drawer\n            const drawer = document.querySelector('cart-drawer-component');\n            if (drawer \u0026\u0026 typeof drawer.open === 'function') drawer.open();\n            else document.querySelector('.header__icon--cart')?.click();\n            \n        } catch (e) {}\n    }\n\n    async function syncButtons() {\n        const cart = await (await fetch('\/cart.js')).json();\n        const activeIds = cart.items.map(i =\u003e i.id);\n        document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n            if (btn.dataset.busy === 'true') return;\n            const active = activeIds.includes(parseInt(btn.dataset.addonId));\n            btn.innerText = active ? '✓ Added' : '+ Add';\n            btn.style.background = active ? '#28a745' : '#000';\n            btn.classList.toggle('added', active);\n        });\n        forceShowBubble(cart.item_count);\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        if (btn.disabled) return;\n        btn.disabled = true; btn.dataset.busy = 'true';\n        const wasAdded = btn.classList.contains('added');\n\n        try {\n            const cart = await (await fetch('\/cart.js')).json();\n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: {'Content-Type':'application\/json'}, body: JSON.stringify({id: String(item.key), quantity: 0}) });\n            } else {\n                const group = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const toRemove = {};\n                cart.items.forEach(i =\u003e { if (group.includes(i.id)) toRemove[i.key] = 0; });\n                if (Object.keys(toRemove).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: {'Content-Type':'application\/json'}, body: JSON.stringify({updates: toRemove}) });\n                const payload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') payload.selling_plan = SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: {'Content-Type':'application\/json'}, body: JSON.stringify({items: [payload]}) });\n            }\n            setTimeout(async () =\u003e {\n                await refreshUI();\n                await syncButtons();\n                btn.disabled = false; btn.dataset.busy = 'false';\n            }, 600);\n        } catch (e) { btn.disabled = false; btn.dataset.busy = 'false'; }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncButtons);\n    setInterval(syncButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included:\u003c\/h3\u003e\n\u003ctable\u003e\u003ctbody\u003e\u003ctr\u003e\n\u003ctd\u003ePages\u003c\/td\u003e\n\u003ctd\u003e3-Page fully responsive site.\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\u003c\/table\u003e\n\u003c\/div\u003e","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715135803488,"sku":null,"price":3500.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/E-Commerce_WooCommerce.png?v=1776324261"},{"product_id":"corporate-websites","title":"Corporate Websites","description":"\u003cp\u003eScalable, secure websites for \u003cstrong\u003eFlorida's\u003c\/strong\u003e growing firms and enterprises.\u003c\/p\u003e\n\n\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; display: flex; align-items: center; }\n.addon-title:hover { color: #000; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.1s ease; min-width: 85px; }\n.addon-btn.added { background: #28a745 !important; }\n.addon-btn.added:hover { background: #c82333 !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104206432\" onclick=\"toggleAddon(42712104206432, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX11: High-speed cloud server for small sites.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104239200\" onclick=\"toggleAddon(42712104239200, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX21: Scalable business server for growing traffic.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104304736\" onclick=\"toggleAddon(42712104304736, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX31: Enterprise-grade node for maximum availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566836320\" onclick=\"toggleAddon(42682566836320, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEssential security, backups, and monthly updates.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566738016\" onclick=\"toggleAddon(42682566738016, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Care Plan + 2 hours of edits and SEO health checks.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566770784\" onclick=\"toggleAddon(42682566770784, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Starter Plan + 4 hours of edits and performance optimization.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566803552\" onclick=\"toggleAddon(42682566803552, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFull partnership with VIP support and priority fixes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754946144\" onclick=\"toggleAddon(42712754946144, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFirst full project draft delivered within 72 business hours.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754978912\" onclick=\"toggleAddon(42712754978912, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eAdd an immersive scrolling page with cinematic depth.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eADA Disabilities Compliance —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42682567491680\" onclick=\"toggleAddon(42682567491680, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEnsure your site is legally compliant and accessible.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eBranding Package —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197061216\" onclick=\"toggleAddon(42671197061216, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eComplete visual identity including logo and style guide.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eProfessional Copywriting —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197552736\" onclick=\"toggleAddon(42671197552736, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003ePersuasive, SEO-optimized copy for up to 5 pages.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eAdvanced SEO Setup —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671189426272\" onclick=\"toggleAddon(42671189426272, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eDeep optimization including schema and local citations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const CURRENT_PID = \"7676289712224\";\n    const MAINT_VIDS = [42682566836320,42682566738016,42682566770784,42682566803552];\n    const HOST_VIDS = [42712104206432,42712104239200,42712104304736];\n    const SHARED_SELLING_PLAN = 1443889248;\n\n    window.toggleDetails = function(el) {\n        if (!el) return;\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = info.style.display === 'block' ? 'none' : 'block';\n    };\n\n    function updateLocalBubbles(newCount) {\n        const countEls = document.querySelectorAll('.cart-bubble__text-count, .cart-count, #cart-icon-bubble span');\n        countEls.forEach(el =\u003e { \n            el.innerText = newCount;\n            el.classList.remove('hidden', 'visually-hidden');\n        });\n        const bubble = document.querySelector('.cart-bubble');\n        if (bubble) bubble.classList.remove('visually-hidden');\n    }\n\n    async function syncAddonButtons() {\n        try {\n            const res = await fetch('\/cart.js');\n            const cart = await res.json();\n            const activeVids = cart.items.map(item =\u003e item.id);\n\n            document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n                if (btn.getAttribute('data-busy') === 'true') return;\n                const vid = parseInt(btn.getAttribute('data-addon-id'));\n                if (activeVids.includes(vid)) {\n                    btn.innerText = '✓ Added';\n                    btn.style.background = '#28a745';\n                    btn.classList.add('added');\n                } else {\n                    btn.innerText = '+ Add';\n                    btn.style.background = '#000';\n                    btn.classList.remove('added');\n                }\n            });\n            updateLocalBubbles(cart.item_count);\n        } catch (e) {}\n    }\n\n    async function updateThemeVisuals() {\n        const headerEl = document.querySelector('.cart-items-component');\n        const sectionId = headerEl?.getAttribute('data-section-id') || 'sections--17721503973472__header_section';\n        const res = await fetch(`\/?sections=${sectionId}`);\n        const data = await res.json();\n\n        if (data \u0026\u0026 data[sectionId] \u0026\u0026 headerEl) {\n            const parser = new DOMParser();\n            const htmlDoc = parser.parseFromString(data[sectionId], 'text\/html');\n            const newContent = htmlDoc.querySelector('.cart-items-component');\n            if (newContent) headerEl.innerHTML = newContent.innerHTML;\n            const dialog = document.querySelector('.cart-drawer__dialog');\n            if (dialog) dialog.classList.remove('cart-drawer--empty');\n        }\n\n        const cartRes = await fetch('\/cart.js');\n        const cart = await cartRes.json();\n        if (window.cartNotification) window.cartNotification.renderContents(cart);\n        if (window.cartDrawer \u0026\u0026 typeof window.cartDrawer.renderContents === 'function') window.cartDrawer.renderContents(cart);\n        document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true, detail: cart }));\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        const wasAdded = btn.classList.contains('added');\n        const countEl = document.querySelector('.cart-bubble__text-count');\n        const currentCount = parseInt(countEl?.innerText || '0');\n\n        btn.setAttribute('data-busy', 'true');\n        \n        \/\/ HYPER-FAST UI TOGGLE\n        if (wasAdded) {\n            btn.innerText = '+ Add';\n            btn.style.background = '#000';\n            btn.classList.remove('added');\n            updateLocalBubbles(Math.max(0, currentCount - 1));\n        } else {\n            btn.innerText = '✓ Added';\n            btn.style.background = '#28a745';\n            btn.classList.add('added');\n            updateLocalBubbles(currentCount + 1);\n        }\n\n        try {\n            const cartRes = await fetch('\/cart.js');\n            const cart = await cartRes.json();\n            \n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ id: String(item.key), quantity: 0 }) });\n            } else {\n                const idsToRemove = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const updates = {};\n                cart.items.forEach(item =\u003e { if (idsToRemove.includes(item.id)) updates[item.key] = 0; });\n                if (Object.keys(updates).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ updates: updates }) });\n                \n                const addPayload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') addPayload['selling_plan'] = SHARED_SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ items: [addPayload] }) });\n            }\n            await updateThemeVisuals();\n        } catch (e) { \n            console.error(\"Sync error\", e);\n            syncAddonButtons(); \/\/ Revert on actual error\n        } finally {\n            btn.setAttribute('data-busy', 'false');\n        }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncAddonButtons);\n    setInterval(syncAddonButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eDeliverable\u003c\/th\u003e\n\u003cth\u003eDetail and Specification\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eExecutive\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eAuthoritative and professional aesthetic.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003ePerformance\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eEnterprise-grade speed and reliability.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eFlorida's Trusted Web Partner\u003c\/h3\u003e\n\u003cp\u003eNeedAWebNow provides expert web services from Miami to Orlando. \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today.\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715135049824,"sku":null,"price":2500.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/Corporate_Websites_c04f62ff-a372-432c-90e7-353f06e7ecdf.png?v=1776324256"},{"product_id":"entertainment-websites","title":"Entertainment Websites","description":"\u003cp\u003eBold, immersive websites for \u003cstrong\u003eMiami and Orlando\u003c\/strong\u003e artists, musicians, and creators.\u003c\/p\u003e\n\n\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; display: flex; align-items: center; }\n.addon-title:hover { color: #000; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.1s ease; min-width: 85px; }\n.addon-btn.added { background: #28a745 !important; }\n.addon-btn.added:hover { background: #c82333 !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104206432\" onclick=\"toggleAddon(42712104206432, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX11: High-speed cloud server for small sites.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104239200\" onclick=\"toggleAddon(42712104239200, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX21: Scalable business server for growing traffic.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104304736\" onclick=\"toggleAddon(42712104304736, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX31: Enterprise-grade node for maximum availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566836320\" onclick=\"toggleAddon(42682566836320, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEssential security, backups, and monthly updates.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566738016\" onclick=\"toggleAddon(42682566738016, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Care Plan + 2 hours of edits and SEO health checks.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566770784\" onclick=\"toggleAddon(42682566770784, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Starter Plan + 4 hours of edits and performance optimization.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566803552\" onclick=\"toggleAddon(42682566803552, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFull partnership with VIP support and priority fixes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754946144\" onclick=\"toggleAddon(42712754946144, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFirst full project draft delivered within 72 business hours.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754978912\" onclick=\"toggleAddon(42712754978912, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eAdd an immersive scrolling page with cinematic depth.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eADA Disabilities Compliance —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42682567491680\" onclick=\"toggleAddon(42682567491680, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEnsure your site is legally compliant and accessible.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eBranding Package —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197061216\" onclick=\"toggleAddon(42671197061216, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eComplete visual identity including logo and style guide.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eProfessional Copywriting —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197552736\" onclick=\"toggleAddon(42671197552736, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003ePersuasive, SEO-optimized copy for up to 5 pages.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eAdvanced SEO Setup —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671189426272\" onclick=\"toggleAddon(42671189426272, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eDeep optimization including schema and local citations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const CURRENT_PID = \"7676289876064\";\n    const MAINT_VIDS = [42682566836320,42682566738016,42682566770784,42682566803552];\n    const HOST_VIDS = [42712104206432,42712104239200,42712104304736];\n    const SHARED_SELLING_PLAN = 1443889248;\n\n    window.toggleDetails = function(el) {\n        if (!el) return;\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = info.style.display === 'block' ? 'none' : 'block';\n    };\n\n    function updateLocalBubbles(newCount) {\n        const countEls = document.querySelectorAll('.cart-bubble__text-count, .cart-count, #cart-icon-bubble span');\n        countEls.forEach(el =\u003e { \n            el.innerText = newCount;\n            el.classList.remove('hidden', 'visually-hidden');\n        });\n        const bubble = document.querySelector('.cart-bubble');\n        if (bubble) bubble.classList.remove('visually-hidden');\n    }\n\n    async function syncAddonButtons() {\n        try {\n            const res = await fetch('\/cart.js');\n            const cart = await res.json();\n            const activeVids = cart.items.map(item =\u003e item.id);\n\n            document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n                if (btn.getAttribute('data-busy') === 'true') return;\n                const vid = parseInt(btn.getAttribute('data-addon-id'));\n                if (activeVids.includes(vid)) {\n                    btn.innerText = '✓ Added';\n                    btn.style.background = '#28a745';\n                    btn.classList.add('added');\n                } else {\n                    btn.innerText = '+ Add';\n                    btn.style.background = '#000';\n                    btn.classList.remove('added');\n                }\n            });\n            updateLocalBubbles(cart.item_count);\n        } catch (e) {}\n    }\n\n    async function updateThemeVisuals() {\n        const headerEl = document.querySelector('.cart-items-component');\n        const sectionId = headerEl?.getAttribute('data-section-id') || 'sections--17721503973472__header_section';\n        const res = await fetch(`\/?sections=${sectionId}`);\n        const data = await res.json();\n\n        if (data \u0026\u0026 data[sectionId] \u0026\u0026 headerEl) {\n            const parser = new DOMParser();\n            const htmlDoc = parser.parseFromString(data[sectionId], 'text\/html');\n            const newContent = htmlDoc.querySelector('.cart-items-component');\n            if (newContent) headerEl.innerHTML = newContent.innerHTML;\n            const dialog = document.querySelector('.cart-drawer__dialog');\n            if (dialog) dialog.classList.remove('cart-drawer--empty');\n        }\n\n        const cartRes = await fetch('\/cart.js');\n        const cart = await cartRes.json();\n        if (window.cartNotification) window.cartNotification.renderContents(cart);\n        if (window.cartDrawer \u0026\u0026 typeof window.cartDrawer.renderContents === 'function') window.cartDrawer.renderContents(cart);\n        document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true, detail: cart }));\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        const wasAdded = btn.classList.contains('added');\n        const countEl = document.querySelector('.cart-bubble__text-count');\n        const currentCount = parseInt(countEl?.innerText || '0');\n\n        btn.setAttribute('data-busy', 'true');\n        \n        \/\/ HYPER-FAST UI TOGGLE\n        if (wasAdded) {\n            btn.innerText = '+ Add';\n            btn.style.background = '#000';\n            btn.classList.remove('added');\n            updateLocalBubbles(Math.max(0, currentCount - 1));\n        } else {\n            btn.innerText = '✓ Added';\n            btn.style.background = '#28a745';\n            btn.classList.add('added');\n            updateLocalBubbles(currentCount + 1);\n        }\n\n        try {\n            const cartRes = await fetch('\/cart.js');\n            const cart = await cartRes.json();\n            \n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ id: String(item.key), quantity: 0 }) });\n            } else {\n                const idsToRemove = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const updates = {};\n                cart.items.forEach(item =\u003e { if (idsToRemove.includes(item.id)) updates[item.key] = 0; });\n                if (Object.keys(updates).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ updates: updates }) });\n                \n                const addPayload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') addPayload['selling_plan'] = SHARED_SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ items: [addPayload] }) });\n            }\n            await updateThemeVisuals();\n        } catch (e) { \n            console.error(\"Sync error\", e);\n            syncAddonButtons(); \/\/ Revert on actual error\n        } finally {\n            btn.setAttribute('data-busy', 'false');\n        }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncAddonButtons);\n    setInterval(syncAddonButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eDeliverable\u003c\/th\u003e\n\u003cth\u003eDetail and Specification\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eVisual Impact\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eHigh-impact video and audio integration.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eBooking\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eCustomized inquiry and booking forms.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eFlorida's Trusted Web Partner\u003c\/h3\u003e\n\u003cp\u003eNeedAWebNow provides expert web services from Miami to Orlando. \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today.\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715181416544,"sku":null,"price":2500.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/Entertainment_Websites.png?v=1776324264"},{"product_id":"landing-pages","title":"Landing Pages","description":"\u003cp\u003eHigh-converting landing pages for \u003cstrong\u003eMiami and Orlando\u003c\/strong\u003e businesses.\u003c\/p\u003e\n\n\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; display: flex; align-items: center; }\n.addon-title:hover { color: #000; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.1s ease; min-width: 85px; }\n.addon-btn.added { background: #28a745 !important; }\n.addon-btn.added:hover { background: #c82333 !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104206432\" onclick=\"toggleAddon(42712104206432, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX11: High-speed cloud server for small sites.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104239200\" onclick=\"toggleAddon(42712104239200, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX21: Scalable business server for growing traffic.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104304736\" onclick=\"toggleAddon(42712104304736, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX31: Enterprise-grade node for maximum availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566836320\" onclick=\"toggleAddon(42682566836320, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEssential security, backups, and monthly updates.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566738016\" onclick=\"toggleAddon(42682566738016, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Care Plan + 2 hours of edits and SEO health checks.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566770784\" onclick=\"toggleAddon(42682566770784, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Starter Plan + 4 hours of edits and performance optimization.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566803552\" onclick=\"toggleAddon(42682566803552, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFull partnership with VIP support and priority fixes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754946144\" onclick=\"toggleAddon(42712754946144, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFirst full project draft delivered within 72 business hours.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754978912\" onclick=\"toggleAddon(42712754978912, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eAdd an immersive scrolling page with cinematic depth.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eADA Disabilities Compliance —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42682567491680\" onclick=\"toggleAddon(42682567491680, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEnsure your site is legally compliant and accessible.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eBranding Package —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197061216\" onclick=\"toggleAddon(42671197061216, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eComplete visual identity including logo and style guide.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eProfessional Copywriting —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197552736\" onclick=\"toggleAddon(42671197552736, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003ePersuasive, SEO-optimized copy for up to 5 pages.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eAdvanced SEO Setup —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671189426272\" onclick=\"toggleAddon(42671189426272, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eDeep optimization including schema and local citations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const CURRENT_PID = \"7676289974368\";\n    const MAINT_VIDS = [42682566836320,42682566738016,42682566770784,42682566803552];\n    const HOST_VIDS = [42712104206432,42712104239200,42712104304736];\n    const SHARED_SELLING_PLAN = 1443889248;\n\n    window.toggleDetails = function(el) {\n        if (!el) return;\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = info.style.display === 'block' ? 'none' : 'block';\n    };\n\n    function updateLocalBubbles(newCount) {\n        const countEls = document.querySelectorAll('.cart-bubble__text-count, .cart-count, #cart-icon-bubble span');\n        countEls.forEach(el =\u003e { \n            el.innerText = newCount;\n            el.classList.remove('hidden', 'visually-hidden');\n        });\n        const bubble = document.querySelector('.cart-bubble');\n        if (bubble) bubble.classList.remove('visually-hidden');\n    }\n\n    async function syncAddonButtons() {\n        try {\n            const res = await fetch('\/cart.js');\n            const cart = await res.json();\n            const activeVids = cart.items.map(item =\u003e item.id);\n\n            document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n                if (btn.getAttribute('data-busy') === 'true') return;\n                const vid = parseInt(btn.getAttribute('data-addon-id'));\n                if (activeVids.includes(vid)) {\n                    btn.innerText = '✓ Added';\n                    btn.style.background = '#28a745';\n                    btn.classList.add('added');\n                } else {\n                    btn.innerText = '+ Add';\n                    btn.style.background = '#000';\n                    btn.classList.remove('added');\n                }\n            });\n            updateLocalBubbles(cart.item_count);\n        } catch (e) {}\n    }\n\n    async function updateThemeVisuals() {\n        const headerEl = document.querySelector('.cart-items-component');\n        const sectionId = headerEl?.getAttribute('data-section-id') || 'sections--17721503973472__header_section';\n        const res = await fetch(`\/?sections=${sectionId}`);\n        const data = await res.json();\n\n        if (data \u0026\u0026 data[sectionId] \u0026\u0026 headerEl) {\n            const parser = new DOMParser();\n            const htmlDoc = parser.parseFromString(data[sectionId], 'text\/html');\n            const newContent = htmlDoc.querySelector('.cart-items-component');\n            if (newContent) headerEl.innerHTML = newContent.innerHTML;\n            const dialog = document.querySelector('.cart-drawer__dialog');\n            if (dialog) dialog.classList.remove('cart-drawer--empty');\n        }\n\n        const cartRes = await fetch('\/cart.js');\n        const cart = await cartRes.json();\n        if (window.cartNotification) window.cartNotification.renderContents(cart);\n        if (window.cartDrawer \u0026\u0026 typeof window.cartDrawer.renderContents === 'function') window.cartDrawer.renderContents(cart);\n        document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true, detail: cart }));\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        const wasAdded = btn.classList.contains('added');\n        const countEl = document.querySelector('.cart-bubble__text-count');\n        const currentCount = parseInt(countEl?.innerText || '0');\n\n        btn.setAttribute('data-busy', 'true');\n        \n        \/\/ HYPER-FAST UI TOGGLE\n        if (wasAdded) {\n            btn.innerText = '+ Add';\n            btn.style.background = '#000';\n            btn.classList.remove('added');\n            updateLocalBubbles(Math.max(0, currentCount - 1));\n        } else {\n            btn.innerText = '✓ Added';\n            btn.style.background = '#28a745';\n            btn.classList.add('added');\n            updateLocalBubbles(currentCount + 1);\n        }\n\n        try {\n            const cartRes = await fetch('\/cart.js');\n            const cart = await cartRes.json();\n            \n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ id: String(item.key), quantity: 0 }) });\n            } else {\n                const idsToRemove = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const updates = {};\n                cart.items.forEach(item =\u003e { if (idsToRemove.includes(item.id)) updates[item.key] = 0; });\n                if (Object.keys(updates).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ updates: updates }) });\n                \n                const addPayload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') addPayload['selling_plan'] = SHARED_SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ items: [addPayload] }) });\n            }\n            await updateThemeVisuals();\n        } catch (e) { \n            console.error(\"Sync error\", e);\n            syncAddonButtons(); \/\/ Revert on actual error\n        } finally {\n            btn.setAttribute('data-busy', 'false');\n        }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncAddonButtons);\n    setInterval(syncAddonButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eDeliverable\u003c\/th\u003e\n\u003cth\u003eDetail and Specification\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eDesign\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eConversion-focused single-page layout.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSetup\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eGoogle Analytics and Google Search Console integration.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eFlorida's Trusted Web Partner\u003c\/h3\u003e\n\u003cp\u003eNeedAWebNow provides expert web services from Miami to Orlando. \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today.\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715182202976,"sku":null,"price":1200.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/Landing_Pages_5e928110-6315-497c-b306-33362c74d203.png?v=1776324266"},{"product_id":"website-redesign","title":"Website Redesign","description":"\u003cp\u003eModernize your old website for the \u003cstrong\u003eCentral and South Florida\u003c\/strong\u003e market.\u003c\/p\u003e\n\n\n\u003cstyle\u003e\n.addon-item { border-bottom: 1px solid #f0f0f0; padding: 12px 0; }\n.addon-main { display: flex; justify-content: space-between; align-items: center; }\n.addon-info { margin-top: 6px; font-size: 0.8em; color: #777; display: none; line-height: 1.4; padding-right: 80px; }\n.addon-title { cursor: pointer; color: #333; font-weight: 500; font-size: 0.9em; display: flex; align-items: center; }\n.addon-title:hover { color: #000; }\n.details-toggle { font-size: 0.8em; color: #0066cc; text-decoration: underline; cursor: pointer; margin-left: 8px; font-weight: 400; }\n.addon-btn { transition: all 0.1s ease; min-width: 85px; }\n.addon-btn.added { background: #28a745 !important; }\n.addon-btn.added:hover { background: #c82333 !important; }\n\u003c\/style\u003e\n\u003cdiv class=\"addon-menu\" style=\"background: #fffcf4; padding: 20px; border: 1px solid #f3ebe0; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eCloud Hosting Services (Optional - Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Starter — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104206432\" onclick=\"toggleAddon(42712104206432, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX11: High-speed cloud server for small sites.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Business — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104239200\" onclick=\"toggleAddon(42712104239200, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX21: Scalable business server for growing traffic.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eCloud Server - Professional — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn h-btn\" data-addon-id=\"42712104304736\" onclick=\"toggleAddon(42712104304736, this, 'hosting')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eCPX31: Enterprise-grade node for maximum availability.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #f4f8fb; padding: 20px; border: 1px solid #e1e8ed; border-radius: 12px; margin-bottom: 15px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003eMonthly Maintenance Plans (Select 1)\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eWebsite Care Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566836320\" onclick=\"toggleAddon(42682566836320, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEssential security, backups, and monthly updates.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Starter Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566738016\" onclick=\"toggleAddon(42682566738016, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Care Plan + 2 hours of edits and SEO health checks.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Growth Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566770784\" onclick=\"toggleAddon(42682566770784, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eIncludes Starter Plan + 4 hours of edits and performance optimization.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eDigital Pro Plan — \/mo \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn m-btn\" data-addon-id=\"42682566803552\" onclick=\"toggleAddon(42682566803552, this, 'maintenance')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFull partnership with VIP support and priority fixes.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"addon-menu\" style=\"background: #fdfdfd; padding: 20px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 30px;\"\u003e\n\u003ch3 style=\"margin-top: 0; color: #111; font-size: 1.1em;\"\u003ePopular Project Add-ons\u003c\/h3\u003e\n\u003cdiv class=\"addon-list\"\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eExpress Delivery (72-Hour) —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754946144\" onclick=\"toggleAddon(42712754946144, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eFirst full project draft delivered within 72 business hours.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003ePremium Parallax Page —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42712754978912\" onclick=\"toggleAddon(42712754978912, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eAdd an immersive scrolling page with cinematic depth.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eADA Disabilities Compliance —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42682567491680\" onclick=\"toggleAddon(42682567491680, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eEnsure your site is legally compliant and accessible.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eBranding Package —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197061216\" onclick=\"toggleAddon(42671197061216, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eComplete visual identity including logo and style guide.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eProfessional Copywriting —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671197552736\" onclick=\"toggleAddon(42671197552736, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003ePersuasive, SEO-optimized copy for up to 5 pages.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-item\"\u003e\n\u003cdiv class=\"addon-main\"\u003e\n\u003cspan class=\"addon-title\" onclick=\"toggleDetails(this)\"\u003eAdvanced SEO Setup —  \u003cspan class=\"details-toggle\"\u003eⓘ Details\u003c\/span\u003e\u003c\/span\u003e\u003cbutton type=\"button\" class=\"addon-btn\" data-addon-id=\"42671189426272\" onclick=\"toggleAddon(42671189426272, this, 'addon')\" style=\"background: #000; color: #fff; padding: 5px 14px; border-radius: 20px; border: none; font-size: 0.8em; cursor: pointer;\"\u003e+ Add\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"addon-info\"\u003eDeep optimization including schema and local citations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function() {\n    const CURRENT_PID = \"7676290400352\";\n    const MAINT_VIDS = [42682566836320,42682566738016,42682566770784,42682566803552];\n    const HOST_VIDS = [42712104206432,42712104239200,42712104304736];\n    const SHARED_SELLING_PLAN = 1443889248;\n\n    window.toggleDetails = function(el) {\n        if (!el) return;\n        const info = el.closest('.addon-item')?.querySelector('.addon-info');\n        if (info) info.style.display = info.style.display === 'block' ? 'none' : 'block';\n    };\n\n    function updateLocalBubbles(newCount) {\n        const countEls = document.querySelectorAll('.cart-bubble__text-count, .cart-count, #cart-icon-bubble span');\n        countEls.forEach(el =\u003e { \n            el.innerText = newCount;\n            el.classList.remove('hidden', 'visually-hidden');\n        });\n        const bubble = document.querySelector('.cart-bubble');\n        if (bubble) bubble.classList.remove('visually-hidden');\n    }\n\n    async function syncAddonButtons() {\n        try {\n            const res = await fetch('\/cart.js');\n            const cart = await res.json();\n            const activeVids = cart.items.map(item =\u003e item.id);\n\n            document.querySelectorAll('.addon-btn').forEach(btn =\u003e {\n                if (btn.getAttribute('data-busy') === 'true') return;\n                const vid = parseInt(btn.getAttribute('data-addon-id'));\n                if (activeVids.includes(vid)) {\n                    btn.innerText = '✓ Added';\n                    btn.style.background = '#28a745';\n                    btn.classList.add('added');\n                } else {\n                    btn.innerText = '+ Add';\n                    btn.style.background = '#000';\n                    btn.classList.remove('added');\n                }\n            });\n            updateLocalBubbles(cart.item_count);\n        } catch (e) {}\n    }\n\n    async function updateThemeVisuals() {\n        const headerEl = document.querySelector('.cart-items-component');\n        const sectionId = headerEl?.getAttribute('data-section-id') || 'sections--17721503973472__header_section';\n        const res = await fetch(`\/?sections=${sectionId}`);\n        const data = await res.json();\n\n        if (data \u0026\u0026 data[sectionId] \u0026\u0026 headerEl) {\n            const parser = new DOMParser();\n            const htmlDoc = parser.parseFromString(data[sectionId], 'text\/html');\n            const newContent = htmlDoc.querySelector('.cart-items-component');\n            if (newContent) headerEl.innerHTML = newContent.innerHTML;\n            const dialog = document.querySelector('.cart-drawer__dialog');\n            if (dialog) dialog.classList.remove('cart-drawer--empty');\n        }\n\n        const cartRes = await fetch('\/cart.js');\n        const cart = await cartRes.json();\n        if (window.cartNotification) window.cartNotification.renderContents(cart);\n        if (window.cartDrawer \u0026\u0026 typeof window.cartDrawer.renderContents === 'function') window.cartDrawer.renderContents(cart);\n        document.dispatchEvent(new CustomEvent('cart:updated', { bubbles: true, detail: cart }));\n    }\n\n    window.toggleAddon = async function(id, btn, type) {\n        const wasAdded = btn.classList.contains('added');\n        const countEl = document.querySelector('.cart-bubble__text-count');\n        const currentCount = parseInt(countEl?.innerText || '0');\n\n        btn.setAttribute('data-busy', 'true');\n        \n        \/\/ HYPER-FAST UI TOGGLE\n        if (wasAdded) {\n            btn.innerText = '+ Add';\n            btn.style.background = '#000';\n            btn.classList.remove('added');\n            updateLocalBubbles(Math.max(0, currentCount - 1));\n        } else {\n            btn.innerText = '✓ Added';\n            btn.style.background = '#28a745';\n            btn.classList.add('added');\n            updateLocalBubbles(currentCount + 1);\n        }\n\n        try {\n            const cartRes = await fetch('\/cart.js');\n            const cart = await cartRes.json();\n            \n            if (wasAdded) {\n                const item = cart.items.find(i =\u003e i.id === id);\n                if (item) await fetch('\/cart\/change.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ id: String(item.key), quantity: 0 }) });\n            } else {\n                const idsToRemove = (type === 'maintenance') ? MAINT_VIDS : (type === 'hosting' ? HOST_VIDS : []);\n                const updates = {};\n                cart.items.forEach(item =\u003e { if (idsToRemove.includes(item.id)) updates[item.key] = 0; });\n                if (Object.keys(updates).length \u003e 0) await fetch('\/cart\/update.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ updates: updates }) });\n                \n                const addPayload = { id: id, quantity: 1 };\n                if (type === 'hosting' || type === 'maintenance') addPayload['selling_plan'] = SHARED_SELLING_PLAN;\n                await fetch('\/cart\/add.js', { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ items: [addPayload] }) });\n            }\n            await updateThemeVisuals();\n        } catch (e) { \n            console.error(\"Sync error\", e);\n            syncAddonButtons(); \/\/ Revert on actual error\n        } finally {\n            btn.setAttribute('data-busy', 'false');\n        }\n    };\n\n    document.addEventListener('DOMContentLoaded', syncAddonButtons);\n    setInterval(syncAddonButtons, 5000);\n})();\n\u003c\/script\u003e\n\u003ch3\u003eWhat's Included\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eDeliverable\u003c\/th\u003e\n\u003cth\u003eDetail and Specification\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eAudit\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eComprehensive review of current weaknesses.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eRedesign\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eVisual and User Experience overhaul.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eFlorida's Trusted Web Partner\u003c\/h3\u003e\n\u003cp\u003eNeedAWebNow provides expert web services from Miami to Orlando. \u003cstrong\u003e\u003ca href=\"https:\/\/needawebnow.com\/pages\/free-digital-audit\"\u003eGet a Free Digital Audit in Florida today.\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n","brand":"NeedAWebNow.com","offers":[{"title":"Default Title","offer_id":42715186856032,"sku":null,"price":2500.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/files\/Website_Redesign.png?v=1776324277"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0657\/2549\/7440\/collections\/87e36dcc3248f0c14b57bb63b35b99a3.png?v=1776309880","url":"https:\/\/needawebnow.com\/collections\/web-design-development.oembed","provider":"NeedAWebNow.com","version":"1.0","type":"link"}