ARTSABERS — Shop Archive Build Brief
Purpose
The universal WooCommerce shop archive template. Serves /shop/ and every /product-category/*/ URL. Header title, description, and result set are dynamically populated per URL by WooCommerce; this brief describes slots and layout, not fixed content. The archive is the end of the funnel — the category landers direct users here for the filter/sort/grid experience.
Direction
Kyber Hull — apply the direction from SAS1. Carbon / void / charcoal grounds; warm orange ember forge accent on CTAs, hairlines, and one-line ember accents; warm off-white body text; pure white reserved for physical light-catch points only; heading font on display copy, body font on prose; zero border-radius sitewide; alternating plain and hull-plate patterned rhythm across sections.
Sections (top to bottom)
1. Header — compact hull-plate imagery band with overlay
MANDATORY HEIGHT: 500px maximum rendered height (target ~400–500px). This is a compact archive header, NOT an editorial hero. Do not inflate with meta rows, HUD telemetry, or extra prose. The archive’s identity is the product grid — the header is a small brand-consistent frame above it.
- MANDATORY IMAGERY: the background MUST load this URL as
background-image: url('...'):https://camcom.dev/generated_imgs/generated-2026-07-07T15-48-07-970Z-oehwsm.jpg— this is Variant G, the vertical smooth-architectural hull-plate. Do NOT substitute a CSS-authored ember-glow / panel-seam effect. The image must be loaded via an<img>tag orbackground-image. Dark linear-gradient overlay 58–74% sits on top for text legibility. - Renders the dynamic category name (or “Shop All” on
/shop/) in ember accent display type — large heading scale. - Short category description below in warm off-white body — dynamic, may be short (WC category description) or absent (
/shop/carries a brand-level tagline). One line or two, not a paragraph. - At the base of the header, a trust chip strip. Verbatim copy: 24-hour UK dispatch · UK customer service · 1-year duelling warranty · 2,400+ five-star reviews. Same as the category landers, for direct-landing reassurance.
- Do NOT include a meta/HUD stats row (SKU counts, tier counts, etc). Explicitly banned from this section.
2. Trust bar section
- Full-width horizontal 4-chip band on carbon ground.
- Each chip = icon + primary claim + one-line evidence.
- Same shape and copy as MAS49’s dedicated trust bar section — direct-landing users need this reinforcement.
3. Main shop area — two-column split (sidebar filter + grid)
Sidebar (left column):
- Sits on the carbon section ground, no distinct panel treatment.
- Filter groups, collapsible: Category (if not already URL-scoped), Electronics, Hilt Style, Colour, Blade Length, Allegiance, Features, Accessories, Stock Status, Price Range.
- Each filter group: title + expandable list of options with checkboxes and result counts.
- Active-filter chips row at the top of the sidebar (visible only when filters are active) + a “Clear all” link in ember accent.
Right column: toolbar + grid + banner + pagination.
Toolbar row (above grid):
- Left: result count text — “N products” (dynamic).
- Right: sort dropdown — options: Featured / Newest / Price ↑ / Price ↓ / Best selling.
3-across product grid — USE THE PROVIDED CARD BLOCK VERBATIM:
The product card block below is lifted verbatim from MAS49 (the approved reference mockup). Use its markup and CSS EXACTLY — do NOT re-author, do NOT invent placeholder CSS silhouettes, do NOT substitute a different card shape. Paste this into your page CSS + repeat the markup pattern for every card in the grid, substituting real product data. This is a strict “use this block verbatim” instruction, not a reference.
PURPOSE: Featured-bestseller product card — square real-hilt media with inline trust badge (in-stock / low-stock), spec table (Saber Core, blade type, sound fonts), tabular ember price, view-saber CTA. Modifier --hot for ember-hot-rim glow on featured hero card.
MARKUP (per card):
<article class="product-card">
<div class="product-card__media" style="background-image: url('PRODUCT_IMAGE_URL');">
<span class="product-card__badge">In stock · Ships today</span>
</div>
<div class="product-card__body">
<div class="product-card__meta">Character · Prequel Era</div>
<h3 class="product-card__name">PRODUCT NAME</h3>
<div class="product-card__specs">
<div class="product-card__spec"><span class="product-card__spec-label">Saber Core</span><span class="product-card__spec-value">Xenopixel V3</span></div>
<div class="product-card__spec"><span class="product-card__spec-label">Blade type</span><span class="product-card__spec-value">Neopixel · Duelling</span></div>
<div class="product-card__spec"><span class="product-card__spec-label">Sound fonts</span><span class="product-card__spec-value">34 + custom</span></div>
</div>
<div class="product-card__foot">
<div class="product-card__price">$PRICE</div>
<a href="#" class="product-card__cta">View saber →</a>
</div>
</div>
</article>
CSS (paste verbatim into the page's <style> block):
.product-card { background: rgba(20,20,20,0.94); backdrop-filter: blur(3px); box-shadow: inset 0 1px 0 rgba(250,250,250,0.08), 0 8px 24px -8px rgba(0,0,0,0.9); display: flex; flex-direction: column; transition: all 0.3s ease; position: relative; }
.product-card:hover { box-shadow: inset 0 1px 0 rgba(250,250,250,0.15), 0 12px 32px -8px rgba(0,0,0,0.95), 0 0 32px rgba(255,122,46,0.2); transform: translateY(-4px); }
.product-card--hot { box-shadow: inset 0 1px 0 rgba(250,250,250,0.08), 0 8px 24px -8px rgba(0,0,0,0.9), inset 0 0 0 1px rgba(255,122,46,0.6), 0 0 24px rgba(255,122,46,0.5); }
.product-card__media { position: relative; aspect-ratio: 1/1; background-color: #0a0a0a; background-size: contain; background-position: center; background-repeat: no-repeat; }
.product-card__badge { position: absolute; top: 16px; right: 16px; font-family: var(--font-display); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; padding: 6px 10px; background: rgba(6,6,6,0.85); color: var(--ember); border: 1px solid rgba(255,122,46,0.4); display: inline-flex; align-items: center; gap: 6px; }
.product-card__badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 8px rgba(255,122,46,0.8); }
.product-card__badge--low { color: var(--ember-glow); border-color: rgba(255,179,71,0.5); }
.product-card__badge--low::before { background: var(--ember-glow); }
.product-card__body { background: var(--hull-panel-lift); padding: 24px 28px 28px; display: flex; flex-direction: column; flex: 1; }
.product-card__meta { font-family: var(--font-display); font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--chrome-dim); margin-bottom: 10px; }
.product-card__name { font-family: var(--font-display); font-size: 22px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; color: var(--chrome-highlight); margin-bottom: 14px; line-height: 1.1; }
.product-card__specs { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px dotted rgba(184,176,166,0.2); }
.product-card__spec { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--font-body); font-size: 12px; padding: 4px 0; }
.product-card__spec-label { color: var(--chrome-dim); text-transform: uppercase; letter-spacing: 0.1em; font-family: var(--font-display); }
.product-card__spec-value { color: var(--chrome-warm); font-family: var(--font-display); font-weight: 500; font-variant-numeric: tabular-nums; }
.product-card__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
.product-card__price { font-family: var(--font-display); font-size: 26px; font-weight: 600; color: var(--ember); font-variant-numeric: tabular-nums; }
.product-card__cta { font-family: var(--font-display); font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--chrome-warm); text-decoration: none; padding-bottom: 4px; border-bottom: 1px solid var(--ember); transition: color 0.2s; }
.product-card__cta:hover { color: var(--ember); }
Real ARTSABERS product data — use these 8 real products from the live catalogue as the first 8 cards in the grid; use them again with tier/blade variations for the remaining 10 cards to fill the 18-card grid:
- Carbon Strike Lightsaber – Xenopixel V3 — $459.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2026/01/Carbon_Strike_1-768x768.jpg - Clone Wars Ahsoka Tano Duelling Lightsabers – RGB-X — $534.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2025/01/Clone_Wars_Ahsoka_Combo_1-768x768.jpg - Clone Wars Ahsoka Tano Lightsabers – Xenopixel V3 — $724.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2025/01/Clone_Wars_Ahsoka_Combo_1-768x768.jpg - Starkiller SE Duelling Lightsaber – S-RGB — $179.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2025/12/Starkiller1_SE_1-768x768.jpg - Starkiller SE Lightsaber – Proffie 2.2 — $299.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2025/12/Starkiller1_SE_1-768x768.jpg - Mace Windu SE Duelling Lightsaber – S-RGB — $164.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2025/12/Mace_Windu_SE_1-768x768.jpg - Mace Windu SE Lightsaber – Proffie 2.2 — $284.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2025/12/Mace_Windu_SE_1-768x768.jpg - Dark Hunter Duelling Lightsaber – S-RGB — $184.99, in stock —
https://artsabers.com/wp-content/uploads/sites/10/2025/12/Dark_Hunter_1-768x768.jpg
Use the appropriate Character · Prequel Era style meta line per product (Character · Original Trilogy / Character · Prequel Era / Character · Sequel Era / etc. — pick believably per hilt). Vary the Saber Core spec (Xenopixel V3, SNV4 PRO, Proffie 2.2, S-RGB), blade type (Neopixel · Duelling / Baselit · Standard / Pixel-in-tube · Duelling), and sound fonts (34 + custom, 26 + custom, 18 stock) per card so the grid reads varied. Apply product-card--hot to ONE featured card in the top row for the ember-rim glow. Use product-card__badge--low on a couple of cards showing “Low stock · N left”.
Grid density: 3-across desktop, 18 cards per page.
In-grid marketing banner slot:
- Desktop (3-col): banner sits between grid row 2 and row 3 — after product 6, before product 7. Spans all 3 columns (grid-column: 1 / -1).
- Mobile (2-col at ~900px): grid collapses 3→2 columns; banner re-positions between row 5 and row 6 (after product 10, before product 11) via CSS grid
order. Single DOM node, viewport-repositioned. - Small phones (1-col fallback at ~480px): banner sits mid-scroll of page 1.
- Shape: wider than tall, roughly 1:3 to 1:4 aspect ratio.
- Content: an operator-controlled marketing beat — a promo message (“FREE RGB SABER WITH ORDERS OVER $350”), a featured collection tease, a video callout, or a UGC feature. Mockup should render one plausible example so the shape reads.
- Direction: Kyber Hull styling — hull-plate imagery variant with overlay, or dark carbon with ember accent, or ember gradient. Match brand voice.
- Note: the backing store (per-category ACF field / global option / block pattern) is a conversion-phase decision — not resolved here.
Pagination:
- Bottom of the grid. Page numbers + prev/next, ember accent on the active page.
4. Empty-state / no-results state
- Renders inline when filters return zero products.
- Panel treatment: Kyber Hull hull-plate slice with ember hairline at the top border.
- Verbatim copy: No sabers match those filters yet.
- Primary CTA in ember accent: Clear filters.
- For the mockup: do NOT render this state inline below the populated grid — the mockup shows the populated-grid state. Show the empty-state elsewhere (a compact preview aside or a documented but unrendered spec) or omit from the primary rendering.
5. SEO body-copy section — NEW
Full-width, sits below the main shop area (below both the sidebar and the grid), above the post-grid reinforcement band. Long-form editorial content targeting informational search queries for this category. On carbon ground.
- Column-constrained max-width (~800–960px), centred within a full-width band.
- Structure: eyebrow label (“ABOUT ARTSABERS LIGHTSABERS” or similar dynamic-per-category), a display-scale H2 headline in ember accent, then 3–5 short prose sections with H3 sub-headings and body-font paragraphs. The prose should read as genuine buyer-guide editorial — the kind of long-form content that ranks for informational queries.
- Example section headings for the /shop/ page (the mockup should render one plausible set): “What makes an ARTSABERS lightsaber different?”, “Choosing your first saber core (S-RGB / SNV4 PRO / Proffie 2.2 / Xenopixel V3)”, “Duelling grade vs display grade — which is right for you?”, “Blade colour and character authenticity”. Each 40–80 words of believable, brand-voice prose.
- Optional: a small link cluster at the bottom of the section pointing to internal category pages (“Explore by character”, “Explore by saber core”, “Explore by duelling grade”) — three ember-accent text links, one line.
- Kyber Hull styling — carbon ground, no distinct panel treatment, subtle rule between the section and the reinforcement band below (an ember hairline or a panel-seam).
6. Post-grid brand-reinforcement band
- MANDATORY IMAGERY: the background MUST load this URL as
background-image: url('...'):https://camcom.dev/generated_imgs/generated-2026-07-07T15-47-31-768Z-joeqpj.jpg— this is Variant F, the horizontal smooth-architectural hull-plate. Do NOT substitute a CSS-authored ember-glow effect. Dark linear-gradient overlay sits on top for text legibility. - Single-line brand-reinforcement copy in the Kyber Hull voice — e.g. “Every hilt hand-tested in-house · Global 7–10 day delivery · 2,400+ five-star reviews” (subagent may propose consistent voice).
- Compact — a beat, not a full section (~120px rendered height).
- Closes the archive before the site footer.
7. Site footer
Standard site chrome. Not brief content.
Alternation rhythm
- Header — Variant G patterned with overlay (loaded via URL)
- Trust bar — plain carbon
- Main shop area — plain carbon
- SEO body-copy — plain carbon (subtle rule below)
- Post-grid reinforcement — Variant F patterned with overlay (loaded via URL)
- Site footer — chrome
What this template deliberately does NOT include
- No sticky floating shop-launcher — user is already at the funnel bottom.
- No sub-category browse tiles — end of funnel; the category landers own that entry-point.
- No hero-scale bespoke editorial header — the header band is compact (≤500px) and dynamic-content-scaled.
- No meta/HUD stats row in the header.
- No CSS-authored placeholder saber silhouettes in product cards — cards use real product imagery URLs (listed above) and the verbatim card block from MAS49.
Copy locks (verbatim)
- Trust chip strip: 24-hour UK dispatch · UK customer service · 1-year duelling warranty · 2,400+ five-star reviews
- Empty state: No sabers match those filters yet. + CTA Clear filters
- All other prose (category name, description, sort options, filter labels) is standard WooCommerce or brand voice.