Bel Air Landing Page — Layout Wireframe v1

Legend & assumptions

read before the breakpoints below
Image / graphic placeholder — dims + recommended max file size
Popup / overlay — trigger + duration noted
TBDNot yet decided — flagged, not assumed
from ShopVibe canvasReal, already-designed element from Belair home 1.zip's StorefrontPage.dc.html — positioned as-is, not invented
Assumptions used for the estimates below — flag if any are wrong
  • Sale-banner tile count assumed at 6 — never specified in discussion; treat as a placeholder TBD.
  • New Products / Bestseller grid DB cost assumes the rebuilt, right-sized database plus proper query batching (1 batched query per grid, not 1-per-product) — per the 2026-08-27 discussion that the new DB removes the old install's query-cost problem. Without batching/object cache, multiply each grid's query count roughly ×3–4 (per-product price/stock/image lookups run separately).
  • All images assumed WebP, served responsively (srcset) — file-size targets are per-breakpoint, not one size for all.
  • Scroll-to-bottom discount popup's product fetch is assumed async (fires on scroll-trigger, not on initial page load) so it doesn't add to the base page's query budget — not yet confirmed as a build requirement, just the sane default.

Desktop

reference width ~1440px · frame scaled for legibility

1a — Utility bar from ShopVibe canvas

36px, dark (--sv-ink). Left: promo message + rotating dot indicators. Right: retail support phone · Ordering Guide · Privacy Policy links.
🎒 Back to School sale now on! ● ○ ○
☎ 1 (868) 658-3545 Ordering Guide Privacy Policy

1b — Head row from ShopVibe canvas

84px. Logo · search bar (flex, max 720px, always visible) · account / wishlist / cart icons + cart total. Logo shrinks to 44px on scroll.
Logo
160×40px · SVG ≤10KB
Search input — "Search products, brands and departments" (flex:1, max 720px)
Account Wishlist Cart 🛒(2) · TTD$104.20

1c — Main Menu menu 1 of 2

46px, centered row, below the head row. Home (active/underlined) · Hampers · Specials · New Arrivals · Bridal Registry.
Home Hampers Specials New Arrivals Bridal Registry
This is the site's primary/utility menu — mirrored in the mobile drawer's "Menu" tab. Note: context.md's earlier plan referred to a department "mega-menu" for header navigation — the Mega Menu (1d) below is the closest existing match, but whether it fully satisfies that original concept is still unreconciled.

1d — Mega Menu menu 2 of 2

64px wide, sticky, full page height, sits left of the content column (desktop/tablet only). "All categories" button + ~10 department icons, stacked vertically. Mirrored in the mobile drawer's "Categories" tab.
☰ all
🛒
🥫
🧴
🔌
⋯

2 — Hero (full viewport)

Delivery-themed image · "From our store to your door" · CTA → department page.
HERO IMAGE — full-bleed
1920×1080 source, eager-loaded (LCP)
≤200KB WebP

3 — Delivery strip

Below the fold, part of the hero section, not footer-linked. 3-column row, evenly filling the frame width.
🚚 fee
⏱ time
📍 zone TBD

4 — Sale banners exposure TBD

Swipe/click-optional carousel — page scroll never hijacked. 3 tiles visible at once, evenly filling the frame width — this row sets the reference width every other section/subsection is sized to.
Banner 1
≤100KB · lazy
Banner 2
≤100KB · lazy
Banner 3
≤100KB · lazy
Pool assumed at 6 banners total TBD; auto-rotate-on-timer vs. show-several-at-once not yet decided.

5 — New Products locked

One shared 6-column grid: ad tile spans columns 1–2 / both rows (a true 2×2 block), 8 products auto-fill the remaining 4×2 area on the right — same column tracks, so the ad genuinely reads as 2 columns wide, not a same-height sidebar.
AD TILE (2×2)
600×600 · ≤60KB
P1
300×300 · ≤35KB
P2
P3
P4
P5
P6
P7
P8

6 — Bestseller rail

Same shared 6-column grid, mirrored: 8 products auto-fill columns 1–4, ad tile explicitly spans columns 5–6 / both rows (2×2) on the right.
P1
P2
P3
P4
P5
P6
P7
P8
AD TILE (2×2)
600×600 · ≤60KB

7 — Bridal registry banner

~Half hero height. CTA opens off-site registry, new tab (labelled).
BRIDAL REGISTRY BANNER
1920×540 · ≤100KB · lazy

8 — Footer from ShopVibe canvas, 3-col

Dark (--sv-ink) 3-column grid: Contact Info (address, phone, social icons) · Opening Hours (hours + "Open now" chip) · Quick Links. Copyright bar below.
Contact Info
2 Gopaul Circular Dr, Marabella
Phone · FB IG TikTok
Opening Hours
Mon–Sat / Sun
● Open now
Quick Links
My Account · Ordering Guide · Track Order · Customer Service · Terms
Added on top, not in the source footer: payment badges below (Visa, First Atlantic Commerce, WiPay, PayWise) — punch-list gap the existing design doesn't cover.
VisaFACWiPayPayWise
© 2026 Bel Air Store Limited — copyright bar

Scroll-to-bottom discount popup

Product image
300×300 · ≤40KB
Desktop — per-section load cost (estimates)
SectionImagesDB queriesImage requestsNotes
Header111Menu query cacheable
Hero101Eager-loaded, static
Delivery strip303Static content block
Sale banners603 initial / 3 lazyCount assumed (TBD)
New Products919Batched query (new DB)
Bestseller rail919+stock filter, same query
Bridal banner101Lazy-loaded
Footer707Badges + social icons
Scroll popup111Async, on-trigger only
Total383 initial + 1 async35 initial + async

Tablet

reference width ~768–1024px, landscape-optimized · responsive if rotated

1a — Utility bar from ShopVibe canvas

Ordering Guide / Privacy Policy links drop at this width — promo message + phone number only.
🎒 Promo message ●○○
☎ Phone

1b — Head row from ShopVibe canvas

Logo
130×32 · ≤8KB
Search input
👤♡🛒

1c — Main Menu menu 1 of 2

HomeHam.Spec.NewBridal

1d — Mega Menu menu 2 of 2

Same 64px sticky icon rail as desktop, still present at tablet width.
☰
🛒
🥫
⋯

2 — Hero (full viewport)

HERO IMAGE — landscape crop
1024×768 · eager · ≤150KB

3 — Delivery strip

🚚 fee
⏱ time
📍 zone TBD

4 — Sale banners TBD

2 tiles visible at once, evenly filling the frame width — reference width for this breakpoint.
Banner 1
≤80KB
Banner 2
≤80KB
Pool of 6 assumed.

5 — New Products locked

One shared 4-column grid: ad tile spans columns 1–2 / both rows (true 2×2), 4 products auto-fill columns 3–4 / both rows (2×2).
AD TILE (2×2)
420×420 · ≤45KB
P1
220×220 · ≤25KB
P2
P3
P4

6 — Bestseller rail

Same shared 4-column grid, mirrored: 4 products auto-fill columns 1–2, ad tile spans columns 3–4 / both rows (2×2) on the right. Out-of-stock excluded.
P1
P2
P3
P4
AD TILE (2×2)
420×420 · ≤45KB

7 — Bridal registry banner

BANNER
1024×300 · ≤70KB · lazy

8 — Footer from ShopVibe canvas, 3-col

Contact Info
Opening Hours
Quick Links
3-column grid persists at tablet width (only collapses to 1-col at mobile). Payment badges added below.
VisaFACWiPayPayWise

Scroll-to-bottom discount popup

Product img
260×260 · ≤35KB
Tablet — per-section load cost (estimates)
SectionImagesDB queriesImage requestsNotes
Header111
Hero101Eager-loaded
Delivery strip303
Sale banners602 initial / 4 lazyCount assumed (TBD)
New Products515Batched query
Bestseller rail515+stock filter
Bridal banner101Lazy-loaded
Footer707
Scroll popup111Async, on-trigger
Total303 initial + 1 async26 initial + async

Mobile

reference width ~375–428px, portrait-optimized · responsive if rotated

1a — Utility bar from ShopVibe canvas

Phone/Ordering Guide/Privacy links drop entirely on mobile — promo message only.
🎒 Promo message ●○○

1b — Head row from ShopVibe canvas

Hamburger (opens drawer) · logo (shrinks on scroll) · account/wishlist/cart icons, no cart total. Search wraps to its own full-width row below.
☰
Logo
100×24 · ≤6KB
👤♡🛒
Search input — full width
Search appears in header and bottom nav — intentional redundancy, both always-visible entry points.

1c — Slide-out drawer both menus, collapsed

Hamburger opens a left-side drawer with two tabs, replacing the desktop's Main Menu + Mega Menu pairing. Categories tab = the department icon list (Mega Menu's content). Menu tab = Home/Hampers/Specials/New Arrivals/Bridal Registry + retail support phone (Main Menu's content).
Categories
Menu

2 — Hero (full viewport)

HERO IMAGE — portrait crop
828×1792 · eager · ≤100KB

3 — Delivery strip

Stacked single column.
🚚 fee
⏱ time
📍 zone TBD

4 — Sale banners TBD

Full-width single banner — this is the reference width every other row on mobile fills.
Banner (1 at a time, swipe)
375×220 · ≤60KB
Pool of 6 assumed; 1 visible, swipe for rest.

5 — New Products locked

Ad + 2×1 grid (2 products) — not ad-only, see decisions.md #004.
AD TILE
750×750 · ≤50KB
P1
180×180 ≤20KB
P2

6 — Bestseller rail

Same arrangement as New Products (ad + 2×1).
AD TILE
750×750 · ≤50KB
P1
P2

7 — Bridal registry banner

BANNER
750×420 · ≤50KB · lazy

8 — Footer from ShopVibe canvas, 1-col

Grid collapses to a single centered column at mobile width: Contact Info, then Opening Hours, then Quick Links, stacked.
Contact Info
Opening Hours
Quick Links
Payment badges added on top:
Visa
FAC
WiPay
PayWise

Scroll-to-bottom discount popup

Product img
220×220 · ≤25KB
🏠
Home
👤
Account
🛒(2)
Cart
🔍
Search
Mobile — per-section load cost (estimates)
SectionImagesDB queriesImage requestsNotes
Header111
Hero101Eager-loaded
Delivery strip303
Sale banners601 initial / 5 lazyCount assumed (TBD)
New Products313Ad + 2 products
Bestseller rail313+stock filter
Bridal banner101Lazy-loaded
Footer707
Bottom nav40–14Cart badge count optional, usually session-cached
Scroll popup111Async, on-trigger
Total303–4 initial + 1 async24 initial + async
Bel Air Landing Page — Layout Wireframe v1 · x---webdesign discovery workspace · shares its visual system with field-audit-market-research.html for a uniform report set.