Premium Ultra-Soft Cotton Fitted Tank

25,695 Reviews

$9.95 $39.99 SAVE 75%

3-Pack
Multicolor
S

Size Chart

Size Chart
Ships by Wed, Jul 22
US Fast US Shipping

30 Day Money Back Guarantee | Free Refunds

Mastercard
American Express
Apple Pay
Google Pay
Shop Pay
Discover
Visa

Grab the essentials while you can!

We sell out more often than other brands...

Product Details +
  • 95% Cotton / 5% Spandex blend, 210 GSM — ultra-soft, lightweight, and breathable
  • Ultra-soft cotton rib fabric feels smooth against the skin
  • Firm stretch molds to your body and snaps back into place after every wear
  • Higher arm openings and wider shoulder straps sit up on the lats for a more athletic, sculpted look
  • Engineered rib structure retains its shape and fit wash after wash
  • Stays fitting like brand new — even after intense workouts and repeated washing
  • Recommend sizing normally — size up for a looser look
  • Machine wash cold with like colors, tumble dry low
  • Comes as a 3-pack for everyday versatility
Fabric & Care +

Fabric

  • 95% Cotton / 5% Spandex Blend
  • 210 GSM weight
  • Ultra-soft cotton rib texture
  • Lightweight and breathable
  • Smooth against the skin

Care

  • Machine wash cold with like colors
  • Tumble dry low
Fit +
  • Tank forms to your body for a close, sculpted fit
  • Higher arm openings and wider shoulder straps sit up on the lats for a more athletic look
  • Firm stretch molds to your shape while snapping back into place
  • Recommend sizing normally for a fitted look
  • Size up for a looser, more relaxed fit
Model +

The model stands at 5'10" and weighs 195 lbs. He is wearing a size Large in these photos.

Shipping Information +

We offer fast and reliable shipping on all orders. You can expect to receive it within 2-3 days based on your location.

Please contact our customer service team for assistance if you have any questions or concerns about your shipment.

Our Guarantee +

If you're not 100% satisfied within the first 30 days, just send it back to us and we'll give you a full refund.

Crafted for Everyday Wear

Crafted for Everyday Wear

Feels Like a Second Skin

Ultra-soft cotton rib fabric — lightweight, breathable, and smooth against the skin.

Built for the Athletic Look

Higher arm openings and wider shoulder straps for a more sculpted, athletic appearance.

Stretch That Keeps Up With You

Molds to your body and snaps back into place — every single time.

'#shopify-section-product', '#product-section', '.product-section', // Fallback to any product-related elements '.product-template', '.product-container', '.product-main', '.product', '[data-section-type="product"]', '[data-section-id*="product"]' ]; console.log('Trying fallback selectors: ', productSelectors); // Try each selector until we find a match for (const selector of productSelectors) { targetElement = document.querySelector(selector); if (targetElement) { console.log('Found product element with selector: ', selector); targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); return; // Exit once we've found and scrolled to a product element } } console.log('No product selectors found, trying main content'); // Final fallback: if no product section is found, try scrolling to the main content area targetElement = document.querySelector('main') || document.querySelector('#MainContent'); if (targetElement) { console.log('Scrolling to main content: ', targetElement); targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); } else { console.log('No scrollable element found'); } } } catch (err) { console.error('Error in scroll button click handler:', err); } }); }); } catch (err) { console.error('Error initializing scroll to product functionality:', err); } } // Enhanced Accordion functionality with debugging function initAccordions() { console.log('Initializing accordions...'); const accordionContainers = document.querySelectorAll('#image-text-section-template--27789387432301__image_with_text_3Cqi4p .accordion-items-wrapper'); console.log('Found', accordionContainers.length, 'accordion containers'); if (accordionContainers.length === 0) { console.log('No accordion containers found'); return; } accordionContainers.forEach((container, containerIndex) => { console.log(`Processing container ${containerIndex + 1}`); const accordionItems = container.querySelectorAll('.accordion-item'); const accordionMode = container.getAttribute('data-accordion-mode') === 'true'; console.log(`Container ${containerIndex + 1} has ${accordionItems.length} items, accordion mode: ${accordionMode}`); accordionItems.forEach((item, itemIndex) => { const header = item.querySelector('.accordion-header'); const content = item.querySelector('.accordion-content'); if (!header) { console.log(`No header found for item ${itemIndex + 1}`); return; } if (!content) { console.log(`No content found for item ${itemIndex + 1}`); return; } // Skip if already initialized if (header.hasAttribute('data-accordion-initialized')) { console.log(`Item ${itemIndex + 1} already initialized, skipping`); return; } console.log(`Setting up click handler for item ${itemIndex + 1}`); // Create the click handler function const clickHandler = function(e) { console.log(`Accordion item ${itemIndex + 1} clicked!`); e.preventDefault(); e.stopPropagation(); const isActive = item.classList.contains('active'); console.log(`Item ${itemIndex + 1} is currently ${isActive ? 'active' : 'inactive'}`); // If in accordion mode, close all other items if (accordionMode && !isActive) { console.log('Accordion mode: closing other items'); accordionItems.forEach((otherItem, otherIndex) => { if (otherItem !== item && otherItem.classList.contains('active')) { console.log(`Closing item ${otherIndex + 1}`); otherItem.classList.remove('active'); } }); } // Toggle the current item if (isActive) { console.log(`Closing item ${itemIndex + 1}`); item.classList.remove('active'); } else { console.log(`Opening item ${itemIndex + 1}`); item.classList.add('active'); } // Trigger custom event for tracking/analytics try { container.dispatchEvent(new CustomEvent('accordion:toggle', { detail: { item: item, isOpen: !isActive, text: header.querySelector('.accordion-header-text')?.textContent } })); } catch (err) { console.error('Error dispatching accordion event:', err); } }; // Add the click listener header.addEventListener('click', clickHandler); // Store the handler reference for potential cleanup header._accordionClickHandler = clickHandler; // Mark as initialized header.setAttribute('data-accordion-initialized', 'true'); // Add visual feedback on hover header.style.cursor = 'pointer'; // Add keyboard support const keyHandler = function(e) { if (e.key === 'Enter' || e.key === ' ') { console.log(`Keyboard trigger for item ${itemIndex + 1}`); e.preventDefault(); clickHandler(e); } }; header.addEventListener('keydown', keyHandler); header._accordionKeyHandler = keyHandler; // Make header focusable for accessibility if (!header.hasAttribute('tabindex')) { header.setAttribute('tabindex', '0'); } console.log(`Item ${itemIndex + 1} setup complete`); }); }); console.log('Accordion initialization complete'); } // Function to manually test accordion (for debugging) function testAccordion() { console.log('Testing accordion functionality...'); const firstItem = document.querySelector('#image-text-section-template--27789387432301__image_with_text_3Cqi4p .accordion-item'); if (firstItem) { console.log('Found first accordion item, toggling...'); firstItem.classList.toggle('active'); console.log('First item is now:', firstItem.classList.contains('active') ? 'active' : 'inactive'); return true; } else { console.log('No accordion items found for testing'); return false; } } // Initialize immediately if DOM is already ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { console.log('DOM Content Loaded - initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); } else { // DOM is already ready console.log('DOM already ready - initializing components immediately'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); } // Also run on window load to ensure all elements are fully loaded window.addEventListener('load', function() { console.log('Window loaded - re-initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); // Additional initialization for dynamic content document.addEventListener('shopify:section:load', function() { console.log('Shopify section loaded - initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); // Backup initialization using setTimeout setTimeout(function() { console.log('Backup initialization running...'); if (document.querySelector('#image-text-section-template--27789387432301__image_with_text_3Cqi4p .accordion-items-wrapper') && !document.querySelector('#image-text-section-template--27789387432301__image_with_text_3Cqi4p .accordion-header[data-accordion-initialized]')) { console.log('Found uninitialized accordions, running backup init'); initAccordions(); } }, 2000); // Make functions globally available for debugging window.debugAccordion = { init: initAccordions, test: testAccordion, toggle: function(index) { const items = document.querySelectorAll('#image-text-section-template--27789387432301__image_with_text_3Cqi4p .accordion-item'); if (items[index]) { items[index].classList.toggle('active'); console.log(`Manually toggled item ${index + 1}`); } } }; // Final fallback: try to initialize immediately try { console.log('Immediate initialization attempt...'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); } catch (err) { console.error('Immediate initialization failed:', err); }
Fit & Features

Fit & Features

210 GSM Softness, Zero Heaviness 

Ultra-soft cotton rib fabric delivers serious comfort without the bulk.

Sculpted Fit, Full Movement 

Higher arm openings and wider shoulder straps follow your natural shape.

Built to Last, Every Wash 

Engineered rib structure, firm stretch fabric, and snap-back construction.

'#shopify-section-product', '#product-section', '.product-section', // Fallback to any product-related elements '.product-template', '.product-container', '.product-main', '.product', '[data-section-type="product"]', '[data-section-id*="product"]' ]; console.log('Trying fallback selectors: ', productSelectors); // Try each selector until we find a match for (const selector of productSelectors) { targetElement = document.querySelector(selector); if (targetElement) { console.log('Found product element with selector: ', selector); targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); return; // Exit once we've found and scrolled to a product element } } console.log('No product selectors found, trying main content'); // Final fallback: if no product section is found, try scrolling to the main content area targetElement = document.querySelector('main') || document.querySelector('#MainContent'); if (targetElement) { console.log('Scrolling to main content: ', targetElement); targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); } else { console.log('No scrollable element found'); } } } catch (err) { console.error('Error in scroll button click handler:', err); } }); }); } catch (err) { console.error('Error initializing scroll to product functionality:', err); } } // Enhanced Accordion functionality with debugging function initAccordions() { console.log('Initializing accordions...'); const accordionContainers = document.querySelectorAll('#image-text-section-template--27789387432301__image_with_text_97HxXJ .accordion-items-wrapper'); console.log('Found', accordionContainers.length, 'accordion containers'); if (accordionContainers.length === 0) { console.log('No accordion containers found'); return; } accordionContainers.forEach((container, containerIndex) => { console.log(`Processing container ${containerIndex + 1}`); const accordionItems = container.querySelectorAll('.accordion-item'); const accordionMode = container.getAttribute('data-accordion-mode') === 'true'; console.log(`Container ${containerIndex + 1} has ${accordionItems.length} items, accordion mode: ${accordionMode}`); accordionItems.forEach((item, itemIndex) => { const header = item.querySelector('.accordion-header'); const content = item.querySelector('.accordion-content'); if (!header) { console.log(`No header found for item ${itemIndex + 1}`); return; } if (!content) { console.log(`No content found for item ${itemIndex + 1}`); return; } // Skip if already initialized if (header.hasAttribute('data-accordion-initialized')) { console.log(`Item ${itemIndex + 1} already initialized, skipping`); return; } console.log(`Setting up click handler for item ${itemIndex + 1}`); // Create the click handler function const clickHandler = function(e) { console.log(`Accordion item ${itemIndex + 1} clicked!`); e.preventDefault(); e.stopPropagation(); const isActive = item.classList.contains('active'); console.log(`Item ${itemIndex + 1} is currently ${isActive ? 'active' : 'inactive'}`); // If in accordion mode, close all other items if (accordionMode && !isActive) { console.log('Accordion mode: closing other items'); accordionItems.forEach((otherItem, otherIndex) => { if (otherItem !== item && otherItem.classList.contains('active')) { console.log(`Closing item ${otherIndex + 1}`); otherItem.classList.remove('active'); } }); } // Toggle the current item if (isActive) { console.log(`Closing item ${itemIndex + 1}`); item.classList.remove('active'); } else { console.log(`Opening item ${itemIndex + 1}`); item.classList.add('active'); } // Trigger custom event for tracking/analytics try { container.dispatchEvent(new CustomEvent('accordion:toggle', { detail: { item: item, isOpen: !isActive, text: header.querySelector('.accordion-header-text')?.textContent } })); } catch (err) { console.error('Error dispatching accordion event:', err); } }; // Add the click listener header.addEventListener('click', clickHandler); // Store the handler reference for potential cleanup header._accordionClickHandler = clickHandler; // Mark as initialized header.setAttribute('data-accordion-initialized', 'true'); // Add visual feedback on hover header.style.cursor = 'pointer'; // Add keyboard support const keyHandler = function(e) { if (e.key === 'Enter' || e.key === ' ') { console.log(`Keyboard trigger for item ${itemIndex + 1}`); e.preventDefault(); clickHandler(e); } }; header.addEventListener('keydown', keyHandler); header._accordionKeyHandler = keyHandler; // Make header focusable for accessibility if (!header.hasAttribute('tabindex')) { header.setAttribute('tabindex', '0'); } console.log(`Item ${itemIndex + 1} setup complete`); }); }); console.log('Accordion initialization complete'); } // Function to manually test accordion (for debugging) function testAccordion() { console.log('Testing accordion functionality...'); const firstItem = document.querySelector('#image-text-section-template--27789387432301__image_with_text_97HxXJ .accordion-item'); if (firstItem) { console.log('Found first accordion item, toggling...'); firstItem.classList.toggle('active'); console.log('First item is now:', firstItem.classList.contains('active') ? 'active' : 'inactive'); return true; } else { console.log('No accordion items found for testing'); return false; } } // Initialize immediately if DOM is already ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { console.log('DOM Content Loaded - initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); } else { // DOM is already ready console.log('DOM already ready - initializing components immediately'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); } // Also run on window load to ensure all elements are fully loaded window.addEventListener('load', function() { console.log('Window loaded - re-initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); // Additional initialization for dynamic content document.addEventListener('shopify:section:load', function() { console.log('Shopify section loaded - initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); // Backup initialization using setTimeout setTimeout(function() { console.log('Backup initialization running...'); if (document.querySelector('#image-text-section-template--27789387432301__image_with_text_97HxXJ .accordion-items-wrapper') && !document.querySelector('#image-text-section-template--27789387432301__image_with_text_97HxXJ .accordion-header[data-accordion-initialized]')) { console.log('Found uninitialized accordions, running backup init'); initAccordions(); } }, 2000); // Make functions globally available for debugging window.debugAccordion = { init: initAccordions, test: testAccordion, toggle: function(index) { const items = document.querySelectorAll('#image-text-section-template--27789387432301__image_with_text_97HxXJ .accordion-item'); if (items[index]) { items[index].classList.toggle('active'); console.log(`Manually toggled item ${index + 1}`); } } }; // Final fallback: try to initialize immediately try { console.log('Immediate initialization attempt...'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); } catch (err) { console.error('Immediate initialization failed:', err); }
Comfort & Design

Comfort & Design

Serious Softness, Sharp Appearance 

Ultra-soft rib, a sculpted silhouette, and a feel that hits different from anything in your wardrobe.

Stitched to Survive Daily Life 

Engineered rib structure, resilient fabric, and a fit that bounces back after every wash.

One Tank, Endless Possibilities 

From gym sessions to casual outings.

'#shopify-section-product', '#product-section', '.product-section', // Fallback to any product-related elements '.product-template', '.product-container', '.product-main', '.product', '[data-section-type="product"]', '[data-section-id*="product"]' ]; console.log('Trying fallback selectors: ', productSelectors); // Try each selector until we find a match for (const selector of productSelectors) { targetElement = document.querySelector(selector); if (targetElement) { console.log('Found product element with selector: ', selector); targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); return; // Exit once we've found and scrolled to a product element } } console.log('No product selectors found, trying main content'); // Final fallback: if no product section is found, try scrolling to the main content area targetElement = document.querySelector('main') || document.querySelector('#MainContent'); if (targetElement) { console.log('Scrolling to main content: ', targetElement); targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); } else { console.log('No scrollable element found'); } } } catch (err) { console.error('Error in scroll button click handler:', err); } }); }); } catch (err) { console.error('Error initializing scroll to product functionality:', err); } } // Enhanced Accordion functionality with debugging function initAccordions() { console.log('Initializing accordions...'); const accordionContainers = document.querySelectorAll('#image-text-section-template--27789387432301__image_with_text_AwJ9Hp .accordion-items-wrapper'); console.log('Found', accordionContainers.length, 'accordion containers'); if (accordionContainers.length === 0) { console.log('No accordion containers found'); return; } accordionContainers.forEach((container, containerIndex) => { console.log(`Processing container ${containerIndex + 1}`); const accordionItems = container.querySelectorAll('.accordion-item'); const accordionMode = container.getAttribute('data-accordion-mode') === 'true'; console.log(`Container ${containerIndex + 1} has ${accordionItems.length} items, accordion mode: ${accordionMode}`); accordionItems.forEach((item, itemIndex) => { const header = item.querySelector('.accordion-header'); const content = item.querySelector('.accordion-content'); if (!header) { console.log(`No header found for item ${itemIndex + 1}`); return; } if (!content) { console.log(`No content found for item ${itemIndex + 1}`); return; } // Skip if already initialized if (header.hasAttribute('data-accordion-initialized')) { console.log(`Item ${itemIndex + 1} already initialized, skipping`); return; } console.log(`Setting up click handler for item ${itemIndex + 1}`); // Create the click handler function const clickHandler = function(e) { console.log(`Accordion item ${itemIndex + 1} clicked!`); e.preventDefault(); e.stopPropagation(); const isActive = item.classList.contains('active'); console.log(`Item ${itemIndex + 1} is currently ${isActive ? 'active' : 'inactive'}`); // If in accordion mode, close all other items if (accordionMode && !isActive) { console.log('Accordion mode: closing other items'); accordionItems.forEach((otherItem, otherIndex) => { if (otherItem !== item && otherItem.classList.contains('active')) { console.log(`Closing item ${otherIndex + 1}`); otherItem.classList.remove('active'); } }); } // Toggle the current item if (isActive) { console.log(`Closing item ${itemIndex + 1}`); item.classList.remove('active'); } else { console.log(`Opening item ${itemIndex + 1}`); item.classList.add('active'); } // Trigger custom event for tracking/analytics try { container.dispatchEvent(new CustomEvent('accordion:toggle', { detail: { item: item, isOpen: !isActive, text: header.querySelector('.accordion-header-text')?.textContent } })); } catch (err) { console.error('Error dispatching accordion event:', err); } }; // Add the click listener header.addEventListener('click', clickHandler); // Store the handler reference for potential cleanup header._accordionClickHandler = clickHandler; // Mark as initialized header.setAttribute('data-accordion-initialized', 'true'); // Add visual feedback on hover header.style.cursor = 'pointer'; // Add keyboard support const keyHandler = function(e) { if (e.key === 'Enter' || e.key === ' ') { console.log(`Keyboard trigger for item ${itemIndex + 1}`); e.preventDefault(); clickHandler(e); } }; header.addEventListener('keydown', keyHandler); header._accordionKeyHandler = keyHandler; // Make header focusable for accessibility if (!header.hasAttribute('tabindex')) { header.setAttribute('tabindex', '0'); } console.log(`Item ${itemIndex + 1} setup complete`); }); }); console.log('Accordion initialization complete'); } // Function to manually test accordion (for debugging) function testAccordion() { console.log('Testing accordion functionality...'); const firstItem = document.querySelector('#image-text-section-template--27789387432301__image_with_text_AwJ9Hp .accordion-item'); if (firstItem) { console.log('Found first accordion item, toggling...'); firstItem.classList.toggle('active'); console.log('First item is now:', firstItem.classList.contains('active') ? 'active' : 'inactive'); return true; } else { console.log('No accordion items found for testing'); return false; } } // Initialize immediately if DOM is already ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { console.log('DOM Content Loaded - initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); } else { // DOM is already ready console.log('DOM already ready - initializing components immediately'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); } // Also run on window load to ensure all elements are fully loaded window.addEventListener('load', function() { console.log('Window loaded - re-initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); // Additional initialization for dynamic content document.addEventListener('shopify:section:load', function() { console.log('Shopify section loaded - initializing components'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); }); // Backup initialization using setTimeout setTimeout(function() { console.log('Backup initialization running...'); if (document.querySelector('#image-text-section-template--27789387432301__image_with_text_AwJ9Hp .accordion-items-wrapper') && !document.querySelector('#image-text-section-template--27789387432301__image_with_text_AwJ9Hp .accordion-header[data-accordion-initialized]')) { console.log('Found uninitialized accordions, running backup init'); initAccordions(); } }, 2000); // Make functions globally available for debugging window.debugAccordion = { init: initAccordions, test: testAccordion, toggle: function(index) { const items = document.querySelectorAll('#image-text-section-template--27789387432301__image_with_text_AwJ9Hp .accordion-item'); if (items[index]) { items[index].classList.toggle('active'); console.log(`Manually toggled item ${index + 1}`); } } }; // Final fallback: try to initialize immediately try { console.log('Immediate initialization attempt...'); initImageTextScrollToFirst(); initScrollToProduct(); initAccordions(); } catch (err) { console.error('Immediate initialization failed:', err); }

Why Choose Us?

4 Problems We're Solving for Our Customers

Fit

No bulk, just a sculpted athletic shape.

  • check-verified Created with sketchtool. Body-hugging structure
  • check-verified Created with sketchtool. Elevated arm openings
  • check-verified Created with sketchtool. Wider shoulder straps

COMFORT

Ultra-soft fabric, all-day wearability.

  • check-verified Created with sketchtool. Smooth rib feel
  • check-verified Created with sketchtool. Lightweight breathability
  • check-verified Created with sketchtool. Skin-friendly cotton

VALUE

Three premium tanks, one great price.

  • check-verified Created with sketchtool. 3-pack included
  • check-verified Created with sketchtool. Long-lasting shape
  • check-verified Created with sketchtool. Wash-proof quality

VERSATILITY

From the gym to everyday life.

  • check-verified Created with sketchtool. Workout ready
  • check-verified Created with sketchtool. Casual friendly
  • check-verified Created with sketchtool. Multi-occasion wear

OUR CUSTOMERS TELL IT BETTER THAN WE DO!

4.9/5 based on 25,695 verified reviews

30-Day Money Back Guarantee

We stand behind our product with a full 30-day money-back guarantee. If you're not completely satisfied for any reason, simply contact us within 30 days of your purchase, and we'll issue a full refund — no questions asked.

ADD TO CART
100% Satisfaction
Fast Shipping
Easy Returns

30-Day Money Back Guarantee

We stand behind our product with a full 30-day money-back guarantee. If you're not completely satisfied for any reason, simply contact us within 30 days of your purchase, and we'll issue a full refund — no questions asked.

ADD TO CART
100% Satisfaction
Fast Shipping
Easy Returns
// Most common first section patterns 'main section:first-of-type', '.main-content section:first-of-type', '.page-content section:first-of-type', // Shopify section patterns '.shopify-section:not([data-section-type="header"]):not([data-section-type="announcement-bar"])', 'section.shopify-section:not([data-section-type="header"])', // General section patterns 'main > *:first-child', '.content section:first-of-type', 'section:not(header):not([role="banner"])', // Fallback to any section 'section:first-of-type', '[data-section-type]:not([data-section-type="header"])', // Last resort - any content element 'main > div:first-child', '.main > *:first-child' ]; let targetElement = null; let usedSelector = ''; for (let selector of selectors) { try { const elements = document.querySelectorAll(selector); if (elements.length > 0) { // Get the first element that's not a header/nav for (let element of elements) { const tagName = element.tagName.toLowerCase(); const sectionType = element.getAttribute('data-section-type'); // Skip header/navigation elements if (tagName === 'header' || tagName === 'nav' || sectionType === 'header' || sectionType === 'announcement-bar' || element.getAttribute('role') === 'banner') { continue; } targetElement = element; usedSelector = selector; break; } if (targetElement) { console.log(`✅ Found first section with selector: ${selector}`); break; } } } catch (e) { // Skip invalid selectors continue; } } if (targetElement) { // Calculate offset for fixed headers const headerHeight = document.querySelector('header')?.offsetHeight || 0; const stickyHeader = document.querySelector('.sticky-header, .header-sticky, [style*="position: fixed"]')?.offsetHeight || 0; const adminBarHeight = document.querySelector('#admin_bar_iframe, .admin-bar')?.offsetHeight || 0; const announcementBar = document.querySelector('.announcement-bar, .promo-bar')?.offsetHeight || 0; const offset = Math.max(headerHeight, stickyHeader) + adminBarHeight + announcementBar + 20; const elementPosition = targetElement.offsetTop; const offsetPosition = elementPosition - offset; window.scrollTo({ top: Math.max(0, offsetPosition), behavior: 'smooth' }); console.log(`✅ Scrolled to first section using selector: ${usedSelector}`); // Optional: Add visual highlight to show successful targeting targetElement.style.transition = 'all 0.3s ease'; targetElement.style.transform = 'scale(1.01)'; setTimeout(() => { targetElement.style.transform = 'scale(1)'; }, 300); } else { console.warn('❌ Could not find any suitable first section to scroll to'); console.log('🔍 Available sections on page:'); // Debug: Show available sections const allSections = document.querySelectorAll('section, .shopify-section, main > *, .main > *'); allSections.forEach((section, index) => { const tagName = section.tagName.toLowerCase(); const id = section.id || 'no-id'; const sectionType = section.getAttribute('data-section-type') || 'no-section-type'; const className = section.className || 'no-class'; console.log(` ${index + 1}. <${tagName}> id="${id}" data-section-type="${sectionType}" class="${className}"`); }); } }); }); });