Vacuum
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>VacuPro X1 — Wireless Car Vacuum | CleanDrive</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Syne:wght@700;800&display=swap" rel="stylesheet">
<style>
:root {
--ink: #0d0d0d;
--off: #f5f4f0;
--white: #ffffff;
--accent: #1a6fff;
--accent-dark: #0f4fd4;
--muted: #6b7280;
--border: #e5e5e0;
--success: #16a34a;
--pill-bg: #edf3ff;
--pill-text: #1a6fff;
--radius: 14px;
--radius-sm: 8px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', sans-serif; background: var(--off); color: var(--ink); line-height: 1.6; }
/* NAV */
nav {
background: var(--white);
border-bottom: 1px solid var(--border);
display: flex; align-items: center; justify-content: space-between;
padding: 0 5vw; height: 62px;
position: sticky; top: 0; z-index: 100;
}
.logo { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 1.35rem; letter-spacing: -0.5px; color: var(--ink); text-decoration: none; }
.logo span { color: var(--accent); }
.nav-links { display: flex; gap: 2rem; list-style: none; }
.nav-links a { text-decoration: none; color: var(--muted); font-size: 0.9rem; font-weight: 500; transition: color .2s; }
.nav-links a:hover { color: var(--ink); }
.nav-right { display: flex; align-items: center; gap: 1rem; }
.nav-cart { background: var(--ink); color: var(--white); border: none; padding: 9px 20px; border-radius: 100px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: background .2s; }
.nav-cart:hover { background: #333; }
/* BREADCRUMB */
.breadcrumb { padding: 14px 5vw; font-size: 0.8rem; color: var(--muted); }
.breadcrumb a { color: var(--muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--ink); }
.breadcrumb span { margin: 0 6px; }
/* PRODUCT LAYOUT */
.product-grid {
max-width: 1160px; margin: 0 auto; padding: 0 5vw 80px;
display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
align-items: start;
}
/* GALLERY */
.gallery { position: sticky; top: 82px; }
.main-img {
background: var(--white);
border-radius: var(--radius);
overflow: hidden;
aspect-ratio: 1;
display: flex; align-items: center; justify-content: center;
border: 1px solid var(--border);
position: relative;
}
.main-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.main-img:hover img { transform: scale(1.04); }
.badge-img {
position: absolute; top: 16px; left: 16px;
background: var(--accent); color: var(--white);
font-size: 0.72rem; font-weight: 700; letter-spacing: .5px;
padding: 5px 12px; border-radius: 100px;
text-transform: uppercase;
}
.thumbnails { display: flex; gap: 10px; margin-top: 12px; }
.thumb {
flex: 1; aspect-ratio: 1; border-radius: var(--radius-sm);
overflow: hidden; border: 2px solid transparent;
cursor: pointer; background: var(--white); transition: border-color .2s;
}
.thumb.active { border-color: var(--accent); }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.thumb:hover { border-color: var(--accent); }
/* PRODUCT INFO */
.product-info { padding-top: 8px; }
.category-tag {
display: inline-block;
background: var(--pill-bg); color: var(--pill-text);
font-size: 0.75rem; font-weight: 600; letter-spacing: .3px;
padding: 4px 14px; border-radius: 100px; margin-bottom: 14px;
text-transform: uppercase;
}
.product-title {
font-family: 'Syne', sans-serif; font-weight: 800;
font-size: 2.1rem; line-height: 1.15; letter-spacing: -1px;
margin-bottom: 10px;
}
.rating-row { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.stars { color: #f59e0b; font-size: 1.05rem; letter-spacing: 1px; }
.rating-text { font-size: 0.85rem; color: var(--muted); }
.rating-link { font-size: 0.85rem; color: var(--accent); text-decoration: none; }
.price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 24px; }
.price-main { font-size: 2.2rem; font-weight: 700; letter-spacing: -1px; }
.price-old { font-size: 1.1rem; color: var(--muted); text-decoration: line-through; }
.price-save { background: #fef2f2; color: #dc2626; font-size: 0.78rem; font-weight: 700; padding: 3px 10px; border-radius: 100px; }
.divider { border: none; border-top: 1px solid var(--border); margin: 22px 0; }
/* SUCTION BADGE */
.spec-highlight {
display: flex; align-items: center; gap: 14px;
background: var(--white); border: 1px solid var(--border);
border-radius: var(--radius); padding: 18px 20px; margin-bottom: 22px;
}
.spec-icon { font-size: 2rem; flex-shrink: 0; }
.spec-label { font-size: 0.75rem; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 2px; }
.spec-val { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.5px; }
.spec-desc { font-size: 0.8rem; color: var(--muted); margin-top: 2px; }
/* OPTIONS */
.option-label { font-size: 0.8rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 10px; }
.color-options { display: flex; gap: 10px; margin-bottom: 20px; }
.color-btn {
width: 36px; height: 36px; border-radius: 50%; border: 3px solid transparent;
cursor: pointer; transition: border-color .2s; position: relative;
}
.color-btn.active { border-color: var(--accent); }
.color-btn::after { content: ''; position: absolute; inset: 2px; border-radius: 50%; background: inherit; }
.qty-row { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.qty-label { font-size: 0.8rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; }
.qty-ctrl { display: flex; align-items: center; border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; background: var(--white); }
.qty-btn { width: 38px; height: 38px; border: none; background: none; font-size: 1.2rem; cursor: pointer; color: var(--ink); transition: background .15s; }
.qty-btn:hover { background: var(--off); }
.qty-val { width: 44px; text-align: center; font-weight: 600; font-size: 0.95rem; }
.add-btn {
width: 100%; background: var(--accent); color: var(--white);
border: none; border-radius: var(--radius); padding: 17px;
font-size: 1rem; font-weight: 700; cursor: pointer;
transition: background .2s, transform .1s; margin-bottom: 12px;
letter-spacing: .2px;
}
.add-btn:hover { background: var(--accent-dark); }
.add-btn:active { transform: scale(.985); }
.buy-btn {
width: 100%; background: var(--ink); color: var(--white);
border: none; border-radius: var(--radius); padding: 17px;
font-size: 1rem; font-weight: 700; cursor: pointer;
transition: background .2s; margin-bottom: 22px;
}
.buy-btn:hover { background: #2a2a2a; }
.trust-row { display: flex; gap: 18px; flex-wrap: wrap; }
.trust-item { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; color: var(--muted); }
.trust-item .ti { font-size: 1rem; }
/* FEATURES SECTION */
.features-section { max-width: 1160px; margin: 0 auto 80px; padding: 0 5vw; }
.section-title {
font-family: 'Syne', sans-serif; font-size: 1.8rem; font-weight: 800;
letter-spacing: -0.5px; margin-bottom: 32px;
display: flex; align-items: center; gap: 12px;
}
.section-title::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.feature-card {
background: var(--white); border-radius: var(--radius);
border: 1px solid var(--border);
padding: 28px 24px;
}
.feature-icon { font-size: 2rem; margin-bottom: 14px; }
.feature-title { font-weight: 700; font-size: 1rem; margin-bottom: 8px; }
.feature-text { font-size: 0.875rem; color: var(--muted); line-height: 1.6; }
/* SPECS TABLE */
.specs-section { max-width: 1160px; margin: 0 auto 80px; padding: 0 5vw; }
.specs-table { width: 100%; border-collapse: collapse; background: var(--white); border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); }
.specs-table tr { border-bottom: 1px solid var(--border); }
.specs-table tr:last-child { border-bottom: none; }
.specs-table td { padding: 14px 22px; font-size: 0.9rem; }
.specs-table td:first-child { color: var(--muted); font-weight: 500; width: 40%; background: var(--off); }
.specs-table td:last-child { font-weight: 600; }
/* REVIEWS */
.reviews-section { max-width: 1160px; margin: 0 auto 100px; padding: 0 5vw; }
.review-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.review-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; }
.review-stars { color: #f59e0b; margin-bottom: 10px; font-size: 0.95rem; }
.review-text { font-size: 0.875rem; line-height: 1.7; color: #374151; margin-bottom: 14px; }
.review-author { font-size: 0.8rem; font-weight: 600; color: var(--muted); display: flex; align-items: center; gap: 8px; }
.review-author::before { content: ''; width: 26px; height: 26px; border-radius: 50%; background: var(--accent); display: inline-block; }
/* FOOTER */
footer {
background: var(--ink); color: rgba(255,255,255,0.55);
text-align: center; padding: 32px 5vw;
font-size: 0.82rem;
}
footer a { color: rgba(255,255,255,0.55); text-decoration: none; }
footer strong { color: var(--white); }
/* ANNOUNCEMENT BAR */
.announce-bar {
background: var(--accent); color: var(--white);
text-align: center; padding: 9px 20px;
font-size: 0.82rem; font-weight: 600; letter-spacing: .2px;
}
@media (max-width: 768px) {
.product-grid { grid-template-columns: 1fr; gap: 32px; }
.gallery { position: static; }
.features-grid { grid-template-columns: 1fr; }
.review-grid { grid-template-columns: 1fr; }
.product-title { font-size: 1.6rem; }
.nav-links { display: none; }
}
</style>
</head>
<body>
<!-- ANNOUNCEMENT -->
<div class="announce-bar">🚚 Free Shipping on Orders Over $35 · 30-Day Returns · Tracked Delivery</div>
<!-- NAV -->
<nav>
<a href="#" class="logo">Clean<span>Drive</span></a>
<ul class="nav-links">
<li><a href="#">Shop</a></li>
<li><a href="#">Bundles</a></li>
<li><a href="#">Reviews</a></li>
<li><a href="#">FAQ</a></li>
</ul>
<div class="nav-right">
<button class="nav-cart" onclick="cartClick()">🛒 Cart (0)</button>
</div>
</nav>
<!-- BREADCRUMB -->
<div class="breadcrumb">
<a href="#">Home</a><span>›</span>
<a href="#">Car Accessories</a><span>›</span>
VacuPro X1 Wireless Vacuum
</div>
<!-- PRODUCT SECTION -->
<div class="product-grid">
<!-- GALLERY -->
<div class="gallery">
<div class="main-img" id="mainImg">
<div class="badge-img">Best Seller</div>
<img id="mainImgEl" src="https://m.media-amazon.com/images/I/71cWVgJJV1L._AC_SL1500_.jpg" alt="VacuPro X1 Wireless Car Vacuum Cleaner">
</div>
<div class="thumbnails">
<div class="thumb active" onclick="switchImg(this, 'https://m.media-amazon.com/images/I/71cWVgJJV1L._AC_SL1500_.jpg')">
<img src="https://m.media-amazon.com/images/I/71cWVgJJV1L._AC_SL1500_.jpg" alt="">
</div>
<div class="thumb" onclick="switchImg(this, 'https://m.media-amazon.com/images/I/71fD3CVQXKL._AC_SL1500_.jpg')">
<img src="https://m.media-amazon.com/images/I/71fD3CVQXKL._AC_SL1500_.jpg" alt="">
</div>
<div class="thumb" onclick="switchImg(this, 'https://m.media-amazon.com/images/I/61YbGVzqhXL._AC_SL1500_.jpg')">
<img src="https://m.media-amazon.com/images/I/61YbGVzqhXL._AC_SL1500_.jpg" alt="">
</div>
<div class="thumb" onclick="switchImg(this, 'https://m.media-amazon.com/images/I/81Hq3H7ovsL._AC_SL1500_.jpg')">
<img src="https://m.media-amazon.com/images/I/81Hq3H7ovsL._AC_SL1500_.jpg" alt="">
</div>
</div>
</div>
<!-- INFO -->
<div class="product-info">
<div class="category-tag">🚗 Car Care</div>
<h1 class="product-title">VacuPro X1 Wireless Car Vacuum</h1>
<div class="rating-row">
<span class="stars">★★★★★</span>
<span class="rating-text">4.8</span>
<a href="#reviews" class="rating-link">142 reviews</a>
</div>
<div class="price-row">
<span class="price-main">$29.99</span>
<span class="price-old">$49.99</span>
<span class="price-save">Save 40%</span>
</div>
<div class="spec-highlight">
<div class="spec-icon">💨</div>
<div>
<div class="spec-label">Suction Power</div>
<div class="spec-val">5,000 Pa</div>
<div class="spec-desc">Removes crumbs, pet hair, dust & debris in one pass</div>
</div>
</div>
<hr class="divider">
<div class="option-label">Color</div>
<div class="color-options">
<div class="color-btn active" style="background: #1a1a1a;" title="Midnight Black" onclick="selectColor(this)"></div>
<div class="color-btn" style="background: #f5f5f5; border: 1px solid #ddd;" title="Pearl White" onclick="selectColor(this)"></div>
<div class="color-btn" style="background: #1a6fff;" title="Electric Blue" onclick="selectColor(this)"></div>
<div class="color-btn" style="background: #dc2626;" title="Racing Red" onclick="selectColor(this)"></div>
</div>
<div class="qty-row">
<span class="qty-label">Qty</span>
<div class="qty-ctrl">
<button class="qty-btn" onclick="changeQty(-1)">−</button>
<span class="qty-val" id="qtyVal">1</span>
<button class="qty-btn" onclick="changeQty(1)">+</button>
</div>
</div>
<button class="add-btn" onclick="addToCart()">🛒 Add to Cart</button>
<button class="buy-btn" onclick="buyNow()">⚡ Buy Now</button>
<div class="trust-row">
<div class="trust-item"><span class="ti">🔒</span> Secure Checkout</div>
<div class="trust-item"><span class="ti">🔄</span> 30-Day Returns</div>
<div class="trust-item"><span class="ti">✅</span> In Stock</div>
<div class="trust-item"><span class="ti">🚚</span> Ships in 24h</div>
</div>
</div>
</div>
<!-- FEATURES -->
<div class="features-section">
<h2 class="section-title">Why VacuPro X1</h2>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon">🔋</div>
<div class="feature-title">Long-Lasting Battery</div>
<div class="feature-text">Built-in 2200mAh rechargeable battery delivers up to 25 minutes of continuous cleaning on a single charge. USB-C charging gets you back to full in just 2 hours.</div>
</div>
<div class="feature-card">
<div class="feature-icon">💨</div>
<div class="feature-title">5000Pa Suction</div>
<div class="feature-text">Dual-stage cyclonic suction tackles everything from fine dust to large debris — pet hair, cereal crumbs, sand, even small gravel from floor mats.</div>
</div>
<div class="feature-card">
<div class="feature-icon">🤫</div>
<div class="feature-title">Near-Silent Motor</div>
<div class="feature-text">Operates at under 70dB — quiet enough to clean without waking sleeping passengers. No more loud, disruptive vacuuming in car parks.</div>
</div>
<div class="feature-card">
<div class="feature-icon">🪄</div>
<div class="feature-title">3 Attachments Included</div>
<div class="feature-text">Comes with a crevice nozzle, brush head, and wide-mouth nozzle. Reach between seats, clean vents, and cover large surfaces effortlessly.</div>
</div>
<div class="feature-card">
<div class="feature-icon">🏠</div>
<div class="feature-title">Not Just for Cars</div>
<div class="feature-text">Compact enough for desktops, keyboards, sofas, and stairs too. The wireless design means you're not limited to where an outlet is.</div>
</div>
<div class="feature-card">
<div class="feature-icon">♻️</div>
<div class="feature-title">Easy-Empty Dustbin</div>
<div class="feature-text">One-click release empties the 120ml dust bin cleanly — no bag to replace, no mess. The washable HEPA filter keeps performance high over time.</div>
</div>
</div>
</div>
<!-- SPECS -->
<div class="specs-section">
<h2 class="section-title">Specifications</h2>
<table class="specs-table">
<tr><td>Suction Power</td><td>5,000 Pa</td></tr>
<tr><td>Battery Capacity</td><td>2200 mAh (Lithium-Ion)</td></tr>
<tr><td>Run Time</td><td>Up to 25 minutes</td></tr>
<tr><td>Charge Time</td><td>~2 hours (USB-C)</td></tr>
<tr><td>Dust Bin Capacity</td><td>120 ml</td></tr>
<tr><td>Noise Level</td><td>≤70 dB</td></tr>
<tr><td>Weight</td><td>480g (1.06 lbs)</td></tr>
<tr><td>Dimensions</td><td>27 × 7 × 8 cm</td></tr>
<tr><td>Filter</td><td>Washable HEPA Filter</td></tr>
<tr><td>In the Box</td><td>Vacuum, 3 attachments, USB-C cable, manual</td></tr>
<tr><td>Warranty</td><td>12-month manufacturer warranty</td></tr>
</table>
</div>
<!-- REVIEWS -->
<div class="reviews-section" id="reviews">
<h2 class="section-title">Customer Reviews</h2>
<div class="review-grid">
<div class="review-card">
<div class="review-stars">★★★★★</div>
<p class="review-text">I was sceptical about a $30 vacuum but this thing genuinely surprised me. The suction is incredibly strong for the size — cleared out a full winter's worth of crumbs and dog hair from my back seat in under 10 minutes. The crevice tool is perfect for between the seats.</p>
<div class="review-author"> Sarah M. — Sydney, AU · Verified Purchase</div>
</div>
<div class="review-card">
<div class="review-stars">★★★★★</div>
<p class="review-text">Battery lasts longer than advertised honestly. I've used it three times now without recharging and it's still going strong. USB-C charging is a big win — I just plug it into my car charger. Super compact and fits in the glove box.</p>
<div class="review-author"> Jake T. — Melbourne, AU · Verified Purchase</div>
</div>
<div class="review-card">
<div class="review-stars">★★★★☆</div>
<p class="review-text">Does exactly what it says. I use it on my desktop too — keyboard and around my monitor. Very quiet compared to my old handheld. Knocked off one star only because I'd love a slightly larger dustbin, but honestly it empties in two seconds so it's no biggie.</p>
<div class="review-author"> Priya R. — Brisbane, AU · Verified Purchase</div>
</div>
<div class="review-card">
<div class="review-stars">★★★★★</div>
<p class="review-text">Bought two — one for each car. The suction on these is no joke. Picked up sand from the floor mats that my full-size vacuum at home struggles with. Fast shipping too, arrived in 3 days. Would 100% recommend to anyone with kids or pets in the car.</p>
<div class="review-author"> Marcus L. — Perth, AU · Verified Purchase</div>
</div>
</div>
</div>
<!-- FOOTER -->
<footer>
<p style="margin-bottom:8px;"><strong>CleanDrive</strong> — Premium Car Care, Delivered to Your Door</p>
<p><a href="#">Privacy</a> · <a href="#">Returns</a> · <a href="#">Contact</a> · <a href="#">Shipping</a></p>
<p style="margin-top:12px;">© 2026 CleanDrive. All rights reserved.</p>
</footer>
<script>
let qty = 1;
let cartCount = 0;
function changeQty(delta) {
qty = Math.max(1, qty + delta);
document.getElementById('qtyVal').textContent = qty;
}
function addToCart() {
cartCount += qty;
document.querySelector('.nav-cart').textContent = `🛒 Cart (${cartCount})`;
const btn = document.querySelector('.add-btn');
btn.textContent = '✓ Added to Cart!';
btn.style.background = '#16a34a';
setTimeout(() => {
btn.textContent = '🛒 Add to Cart';
btn.style.background = '';
}, 2000);
}
function buyNow() {
alert('Redirecting to secure checkout… (connect your Shopify store to activate)');
}
function cartClick() {
alert(`You have ${cartCount} item(s) in your cart.\n(Connect your Shopify backend to open the cart drawer)`);
}
function switchImg(el, src) {
document.querySelectorAll('.thumb').forEach(t => t.classList.remove('active'));
el.classList.add('active');
document.getElementById('mainImgEl').src = src;
}
function selectColor(el) {
document.querySelectorAll('.color-btn').forEach(b => b.classList.remove('active'));
el.classList.add('active');
}
</script>
</body>
</html>