Space Heater
* { margin: 0; padding: 0; box-sizing: border-box; } .bundle-container { max-width: 1800px !important; margin: 0 auto; background: white; padding: 30px 40px; border-radius: 8px; } .bundle-header { margin-bottom: 24px; } .bundle-title { font-size: 18px; font-weight: 700; text-transform: uppercase; } .bundle-subtitle { font-size: 13px; color: #6d7175; } .bundle-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; } /* CHANGED: Removed tag, now using */ .bundle-card-wrapper { text-decoration: none; color: inherit; text-align: center; cursor: pointer; /* Added cursor pointer for clickability */ } .bundle-title-above { margin-bottom: 6px; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; color: #202223; } .bundle-card { position: relative; border: 2px solid #e1e3e5; border-radius: 12px; overflow: hidden; aspect-ratio: 1 / 1; cursor: pointer; transition: all 0.25s ease; } .bundle-card:hover { border-color: #2c6ecb; box-shadow: 0 6px 16px rgba(0,0,0,0.15); } .bundle-image-wrapper { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 12px; } .bundle-image { max-width: 100%; max-height: 100%; object-fit: contain; transition: transform 0.3s ease; } .bundle-card:hover .bundle-image { transform: scale(1.05); } /* Price styling */ .bundle-price { margin-top: 8px; } .bundle-price .compare { font-size: 13px; color: #8c9196; text-decoration: line-through; margin-right: 6px; } .bundle-price .current { font-size: 15px; font-weight: 700; color: #202223; } /* Badge */ .bundle-badge { position: absolute; top: 10px; right: 10px; background: #ffc107; color: #000; font-size: 10px; font-weight: 700; padding: 4px 8px; border-radius: 12px; z-index: 3; } /* REMOVED: External link icon styles - no longer needed */ /* NEW: Loading state for cart addition */ .bundle-card.adding { opacity: 0.6; pointer-events: none; } /* NEW: Success feedback */ .bundle-card.added { border-color: #28a745; } @media (max-width: 1024px) { .bundle-grid { grid-template-columns: repeat(2, 1fr); } } Bundle Size Choose your perfect bundle 1-Piece 2-Piece Bundle 3-Piece Bundle ⭐ Best 4-Piece Bundle /* Base pricing */ const basePrice = 29.95; const baseCompare = 65.00; // Calculate and display prices for each bundle document.querySelectorAll('.bundle-card-wrapper').forEach(card => { const qty = Number(card.dataset.qty); const price = (basePrice * qty).toFixed(2); const compare = (baseCompare * qty).toFixed(2); card.querySelector('.bundle-price').innerHTML = ` $${compare} $${price} `; }); /* Get variant ID from the current product page */ function getVariantId() { // Method 1: Try to get from Shopify's meta object (most common) if (typeof meta !== 'undefined' && meta.product && meta.product.variants && meta.product.variants.length > 0) { return meta.product.variants[0].id; } // Method 2: Try to get from the product JSON script tag (common in modern themes) const productJson = document.querySelector('[data-product-json], script[type="application/json"][data-product-json]'); if (productJson) { try { const product = JSON.parse(productJson.textContent); if (product.variants && product.variants.length > 0) { return product.variants[0].id; } } catch (e) { console.error('Error parsing product JSON:', e); } } // Method 3: Try to get from form input (fallback for older themes) const variantInput = document.querySelector('form[action*="/cart/add"] input[name="id"]'); if (variantInput && variantInput.value) { return variantInput.value; } // Method 4: Try to get from select element const variantSelect = document.querySelector('form[action*="/cart/add"] select[name="id"]'); if (variantSelect && variantSelect.value) { return variantSelect.value; } return null; } /* CHANGED: Add to cart then redirect to checkout */ function addToCartAndCheckout(variantId, quantity) { // Add to cart via AJAX return fetch('/cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ id: variantId, quantity: quantity }) }) .then(response => response.json()) .then(data => { console.log('Successfully added to cart:', data); // Immediately redirect to checkout after adding to cart window.location.href = '/checkout'; }); } // Add click event listeners to all bundle cards document.querySelectorAll('.bundle-card-wrapper').forEach(wrapper => { wrapper.addEventListener('click', function(e) { e.preventDefault(); const qty = Number(this.dataset.qty); const bundleCard = this.querySelector('.bundle-card'); // Get variant ID dynamically from the page const variantId = getVariantId(); // Check if variant ID was found if (!variantId) { alert('Could not find product variant ID. Please make sure you are on a product page.'); console.error('Variant ID not found. Check console for details.'); return; } console.log('Adding to cart and proceeding to checkout - Variant ID:', variantId, 'Quantity:', qty); // Add loading state for visual feedback bundleCard.classList.add('adding'); // Add to cart, then redirect to checkout addToCartAndCheckout(variantId, qty) .catch(error => { // Remove loading state if there's an error bundleCard.classList.remove('adding'); // Show error message console.error('Error adding to cart:', error); alert('Sorry, there was an error adding to cart. Please try again.'); }); }); }); About this item [With LED display and timer]: pressing the timer button allows you to scroll through 1 and 12 hours in 1-hour increments. For auto-on timer, make sure the heater is off, press the timer button until the LED display shows the number of hours you want. For auto-off timer, make sure the heater is on, press and hold the timer button until it reaches your desire time. [Quiet and Fast Heating]: Very quiet, can heat a room of 30 square feet (about 9.3 square meters) well. Ideal for smaller places such as indoor offices or dorm desks. You can use it at home if you don't want to use another central heater to heat the entire house. It's very quiet and won't keep you awake at night. [Low-wattage space heater]: 500 watts, 120-240 volts, 2.9 amps, 60 Hz, convenient 180-degree rotating plug with 3 prongs. Press the button below the plug to adjust the degree of rotation. Low-wattage heaters are more economical than running higher-wattage space heaters and will not overload the circuit. A great choice for people with mild climates. [Remote control digital thermostat]: Unlike most space heaters that only have low, medium and high options, this will give you the actual degree. It can be adjusted by the required temperature from 60°F to 90°F (15°C-32°C). Set the thermostat to the temperature you want, and it will automatically turn on and off to maintain that temperature. You can control the heater remotely via the remote control. [ Saves Space]: 4.3 x 2.8 x 6.5 inches makes it easy to carry around without any wires. The plug-in heater is installed directly on the socket, it does not take up floor space, nor does it place wires on the floor for tripping. The modern appearance makes it blend perfectly with the living room or bedroom or other areas of the house because it is not as eye-catching as a space heater.
More you might like
Related
Dr. Infrared Heater Original Space Heater/Space Heater + Hu
Related
Space Heater Adapter 3/8 X 3/8 FIP SPACE HEATER
Related
Space Heater Adapter 3/8 X 1/2 FIP SPACE HEATER
Related