layout-architect
Wireframe — pdp redesign
Opus · phase 2 · 12×EXTEND 0×NEW 0×REMOVE
← Back to run index
run · 2026-05-11-stage-5b-natural-harmony-pdp
generated · 2026-05-11 17:09 UTC
12 × EXTEND 0 × NEW 0 × REMOVE extend-references: 12 audit coverage: 8 / 8 sections: 12

Preserves the design-reference draft-theme PDP composition end-to-end — extends product-template + product-hux + cstm-product-form-hux (dropdown size selector, segmented firmness, sleep-bundle toggle, ATC, Tabby+Tamara, delivery), corrects the live #3A4F3C resting-ATC regression to #537156, hoists rating + trust-triple above the price, wires sections/mattress-comparison.liquid as 3 NHC tier cards (Essentia / Select / Reserve, no competitors), and extends product-sticky-atc with the verified DreamCloud split mobile (top-strip + bottom-footer with size-sheet) + desktop top-bar + in-page-nav compositions.

Continuity posture

strictness: strict protected_files: 17 protected_removal_overrides: 0 REMOVE-of-protected: 0

REMOVE is forbidden for any section touching a protected file unless strictness=loose AND a matching override exists. Strictness is strict with zero overrides — so this wireframe carries zero REMOVE dispositions.

Protected files list (17)
  • CHANGES.md
  • natural-harmony-select-full-page-blueprint.md
  • natural-harmony-select-pdp-review.md
  • sections/product-template.liquid
  • sections/mattress-comparison.liquid
  • snippets/cstm-product-form-hux.liquid
  • snippets/cstm-product-price.liquid
  • snippets/product-buybox-enhancements.liquid
  • snippets/product-gallery-media-hux.liquid
  • snippets/product-hux.liquid
  • snippets/product-installments.liquid
  • snippets/product-sleep-bundle.liquid
  • snippets/product-sleep-bundle-nish.liquid
  • snippets/product-sticky-atc.liquid
  • snippets/product-trust-stack.liquid
  • templates/product.nish-natural-wool.json
  • templates/product.json

Warnings (10)

  1. BRAND COLOR CORRECTION (audit-prio): theme.json confirms live ATC ships #3A4F3C as resting background — this is the hover/active dark green. brief mandates #537156 at rest. Every section's primary CTA slot constraints require #537156 resting / #3A4F3C only on :hover/:active. Reviewer must verify this is corrected, not propagated.
  2. audit-08 — Made-in-UAE override: marketing audit recommends 'Made in UAE / SpringTech Sharjah'. brief forbids this for NHC. trust-strip + faq + every alt-text slot suppresses Made-in claims.
  3. audit-02 — organic-claim override: live cert ribbon ships GOTS+RWS. brief forbids organic/GOTS/GOLS/RWS framing for NHC. trust-strip + certifications sections lock to NHC-approved order (CertiPUR, B Corp, Land to Market, FernMark, OEKO-TEX) and REPLACE live GOTS/RWS logos.
  4. Claim discipline — trial nights: brief.claims[10] flags 100-night trial as UNVERIFIED. sleep-trial-and-warranty's trial-block slot is conditionally rendered (gated on huxberry.trial_nights). If unset, OMIT — no placeholder copy.
  5. Claim discipline — warranty years: brief.claims[9] flags 10-year warranty as PARTIAL. warranty slots gate on metafield and avoid 'lifetime' / 'forever' language.
  6. Reviews discipline: brief.include_review_schema=false. NO AggregateRating / Review JSON-LD until include_review_schema=true AND real review data is installed (pdp.md §6 hard-stop).
  7. FAQ minimum: faq-accordion slot requires ≥5 entries to drive FAQPage JSON-LD with confidence. Reviewer should flag if copy-writer ships <3.
  8. Comparison hard rule: comparison-table's three tier-card slots are INDIVIDUALLY ENUMERATED (essentia/select/reserve). Any additional block (Hypnos / Avocado / Naturalmat / Simba / DreamCloud / Vi-Spring) violates brief.comparison_section_policy.cross_brand_competitor_cards_allowed=false.
  9. Sticky-ATC cross-viewport binding: mobile sheet, desktop dropdown, AND inline form share variant state. Prototype-builder must verify picking a size in any region updates the others.
  10. Single-value variant suppression (audit-04): hero buy-box-form slot requires suppressing any variant option whose values.size == 1. CHANGES.md fix exists in theme-local but must be live before launch.

Sections (12, top-to-bottom)

1

Hero (ATF gallery + buy-box composite)

EXTEND id: hero pattern: product-template

Purpose: Above-the-fold composite that anchors the PDP: 55/45 gallery+buybox split at desktop, single-column at mobile. Surfaces product identity, rating, trust badges, size + firmness, price, primary ATC, and the delivery promise within the first viewport on both 375 and 1440.

Sequence rationale: Position 1: the ATF is the page. Matches design-reference template. Buy-box composition order is locked from brief.buybox_pattern; what changes is what fills the right column (trust-triple + rating line surfaced ATF instead of below the fold).

Protected files touched (8):
sections/product-template.liquid templates/product.nish-natural-wool.json templates/product.json snippets/product-hux.liquid snippets/product-gallery-media-hux.liquid snippets/cstm-product-price.liquid snippets/product-buybox-enhancements.liquid snippets/cstm-product-form-hux.liquid
Addresses audit: audit-01 audit-03 audit-04

Slots (7)

idkindpurposedata_sourcemetafieldconstraints
breadcrumbsmicrocopyCollection lineage path; supports breadcrumb JSON-LD.product
product-titleheadlineSingle H1 carrying product name. Primary keyword 'natural mattress' may appear naturally. No 'organic', no Made-in, no forbidden verbs.productH1; 26 px serif at mobile / 32 px at desktop; one per page; ≤60 chars.
rating-lineratingStar rating + review count immediately under title (DreamCloud canonical_emphasis). Hide cleanly when count==0 — never fabricate.metafieldrating_valueStar glyphs 14 px line height; format '<value> · <count> reviews'.
atf-trust-badgestrust-stripThree-badge trust triple under title (Made-to-order ships-in-5 / Warranty / Returns). Trial-night pill gated on metafield; do not invent.authored3 icon+label chips, horizontal row both viewports; ≥44×44; icons monochrome on #fff9f5.
buy-box-formformMirrors brief.buybox_pattern composition verbatim: size → firmness → sleep-bundle → ATC → installments → delivery. PRESERVE-AS-IS. Suppress single-value variant options (audit-04).productLocked order. 12-size Gulf dropdown w/ compare-at + current price per row. NOT chips. Firmness sub-labels REQUIRED. ATC bg #537156 resting / #3A4F3C only on :hover/:active. Radius 0. ≥16 px label.
price-blockpriceVariant price w/ compare-at strikethrough + current price. Preserves CHANGES.md fix #1 (no 'asdsad' placeholder).product'Dhs.' prefix. Strikethrough #8a898d. Current #537156. No debug tokens.
delivery-promisemicrocopyTruck icon + 'Made to Order · Ships in 5 working days'. Centered.authoredSingle line. No 'fast' / 'express' superlatives. No Made-in claim.
Mobile (375 px)

Single column. Order: breadcrumbs, gallery (full-width 1:1), title, rating-line, atf-trust-badges (3 chips, wrap if needed), price-block (above buy-box per design-reference), buy-box-form (locked composition), delivery-promise. Gallery ~375×375. Full-width green ATC is focal CTA in 2nd viewport scroll. All tap targets ≥44×44.

Desktop (1440 px, breakpoint 990)

55/45 split — product-gallery-media-hux left (~770 px w/ vertical thumb rail), buy-box right (~570 px). Stack: breadcrumbs, title, rating-line, atf-trust-badges, price-block, buy-box-form, delivery-promise. Section height matches gallery column (closes audit-03 dead-zone).

Notes: Inline buy-box form is the show/hide trigger for sticky-add-to-cart via IntersectionObserver. Color discipline is the load-bearing correction here.

2

Sticky add-to-cart (mobile split + desktop top bar + in-page nav)

EXTEND id: sticky-add-to-cart pattern: product-sticky-atc

Purpose: Persistent purchase path on scroll. Two distinct compositions per brief.sticky_atc_pattern. Mobile = split top-strip + bottom-footer (size-trigger opens bottom-sheet). Desktop = single fixed top bar + paired in-page nav. Both appear/disappear together via IntersectionObserver. Cross-viewport state binding non-negotiable.

Sequence rationale: Position 2 in section list because both compositions overlay the page; sections/product-template.liquid renders product-sticky-atc at section-end; desktop top-bar is a new adjacent snippet (snippets/product-sticky-atc-top.liquid) per brief — existing protected snippet EXTENDED, not replaced.

Protected files touched (2): snippets/product-sticky-atc.liquid sections/product-template.liquid
Addresses audit: audit-05

Slots (4)

idkindpurposedata_sourcemetafieldconstraints
mobile-top-striptrust-stripFixed-top slim strip (mobile only). L→R: stars · count · title (truncates). NO size, NO price, NO ATC here.metafieldrating_countHeight ~44 px; bg #fff w/ 1 px border. Hidden when inline ATC visible. Hidden at desktop. 14 px Montserrat.
mobile-bottom-footerformFixed-bottom (mobile only). L→R: size-trigger chip (label + chevron + current price, NO compare-at) + ATC right. Size-trigger opens bottom-sheet (tile_grid of 12 sizes, dimmed bg, footer remains visible). ATC submits same product form (no size-picker-first).productHeight ~68 px (≥44 px tap). Chip ~55%, ATC ~45%. ATC #537156 resting. Sheet 4-col tile grid at 375 px. Hidden at ≥990 px.
desktop-top-barformFixed-top bar (desktop only). L→R: stars · count · title · size dropdown (with current price) · price block · ATC. NO product thumbnail, NO compare-at in bar. Slides down when inline buybox scrolls out of view.productHeight ~64 px below site nav. Hidden <990 px. ATC #537156. Dropdown shares variant state w/ inline form.
desktop-in-page-navlistSecondary fixed row under desktop-top-bar. Links: Overview · Reviews · FAQ · Layers & Materials · Product Specs. Active link underlined. Click scrolls w/ sticky-offset.authoredHeight ~44 px. Montserrat 14 px. Active underline #54412f (warm brown — NOT #537156, reserved for CTA).
Mobile (375 px)

Fixed top strip (~44 px) + fixed bottom footer (~68 px). Both show/hide together. Bottom sheet slides up; dimmed backdrop; tap-outside-to-close. Desktop bar + nav HIDDEN.

Desktop (1440 px, breakpoint 990)

Fixed top bar (~64 px) + fixed in-page nav row (~44 px) as one composite. Slides down on scroll past inline buybox. Mobile strip + footer HIDDEN.

Notes: Verified against research/inspiration-captures/dreamcloud-sticky-atc-2026-05-11/. Cross-viewport state binding is non-negotiable.

3

Product gallery

EXTEND id: gallery pattern: product-gallery-media-hux

Purpose: Primary product imagery w/ vertical thumb rail (desktop) / swipeable carousel (mobile). Cross-section layer shot + Velura quilt close-up are load-bearing material-proof images.

Sequence rationale: Logically nested in hero ATF; conceptually distinct (required by page-type).

Protected files touched (2): snippets/product-gallery-media-hux.liquid sections/product-template.liquid

Slots (5)

idkindpurposedata_sourceconstraints
main-imageimagePrimary 1:1 product hero. First in sequence; alt-text descriptive.product1:1, ≥1200 px sq source. Alt-text MUST avoid 'organic' and Made-in-UAE phrasing.
lifestyle-shotimageBedroom context (neutral palette, soft daylight, no model required).product1:1 mobile, may be 4:3 in carousel. Neutral palette echoing #efefe5 / #fff9f5.
cross-section-diagramimageLabeled cross-section: Individually Pocketed Spring Core, Reinforced Edge Zone, Airelle Natural Wool Comfort Layer, Velura knit cover.productLabels use ONLY verified claim allowed_copy. NO organic / GOTS / RWS / Made-in. Labels in IveMode ≥14 px.
material-detailimageMacro of Velura knit cover (TENCEL™ and cashmere infused) OR Reinforced Edge Zone.product1:1 tight crop.
feature-strip-iconslistIcon-with-text grid below main image. Up to 4 short benefit tiles. Material-forward, no superlatives.authoredIcon + 1-line label + optional short description. Bg #efefe5, fg #191919. Label ≤4 words. No 'Discover', 'Experience'.
Mobile (375 px)

Single-column carousel w/ native swipe (no overlay intercepting). Thumb dots below. Feature strip = 1-col stack of icon tiles below carousel.

Desktop (1440 px, breakpoint 990)

Vertical thumb rail (~100 px) on far left, main image (~670 px sq) to its right. Feature strip = 2-col grid under main.

4

Buy-box (right column)

EXTEND id: buy-box pattern: product-hux

Purpose: Variant selection, price, ATC, financing, trust. Mirrors brief.buybox_pattern composition exactly: size → firmness → sleep-bundle → ATC → installments → delivery. Plus buybox-enhancements density layer (rating, award/tagline, condensed cert row, trust pill strip) — closes audit-03 dead-zone gap.

Sequence rationale: Physically nested in hero ATF composite. Logical section for slot accountability.

Protected files touched (8):
snippets/product-hux.liquid snippets/cstm-product-form-hux.liquid snippets/cstm-product-price.liquid snippets/product-buybox-enhancements.liquid snippets/product-installments.liquid snippets/product-sleep-bundle.liquid snippets/product-sleep-bundle-nish.liquid sections/product-template.liquid
Addresses audit: audit-01 audit-03 audit-04

Slots (7)

idkindpurposedata_sourcemetafieldconstraints
size-selectorformBlock 1. DROPDOWN of all 12 Gulf sizes. Each row: size · compare-at (strikethrough, muted) · current price (#537156). Header 'Select Size' + right 'Size guide' link.productNative or styled <select>. NOT chips. 12-entry catalog per brief. Current row left-edge accent #537156. 'Dhs.' currency.
firmness-selectorformBlock 2. Segmented two-card toggle. 'Firm — Back & combo sleepers' / 'Extra Firm — Stomach sleepers & heavier bodies'. Sub-labels REQUIRED.productHeader 'Choose Your Firmness' + 'What feel is right?' helper. Sub-labels visible at 14 px even at 375 px width.
sleep-bundle-toggleformBlock 3. Toggle + 'Add Sleep Bundle' + compare-at + bundle price. OFF: 3 tiles greyed. ON: tiles full opacity. Uses product-sleep-bundle-nish (atomic /cart/add.js POST).productCross-sells: Organic Cotton Bedding Bundle + ActivChill Protector + Organic Latex Pillow. Separate Organic Collection SKUs — NOT NHC organic-claim violation.
primary-atcctaBlock 4. Full-width primary CTA. Label 'Add to cart' (copy-writer decides).authoredFull-width; radius 0; bg #537156 at REST (NOT #3A4F3C); fg #fff; 14 px / lh 1.5 / ls 0.03 em; pad 16 px v. Tap ≥44×44.
installment-rowslistBlock 5. Row 1: Tabby (green chip) + '4 payments of Dhs. X' + 'Learn more'. Row 2: Tamara (gradient chip) + '3 payments of Dhs. X' + 'Learn more'.productProvider chip pills retain official brand colors. Body type Montserrat 14 px.
delivery-linemicrocopyBlock 6. Truck icon + 'Made to Order · Ships in 5 working days'. Centered.authoredSingle line. No superlatives. No Made-in.
buybox-enhancementstrust-stripDensity layer: rating readout, award/tagline, condensed cert row, 5-row trust pills (delivery/trial/warranty/returns/finance). Gated metafields.metafieldshow_certsRating hides when count==0. Trial gated on trial_nights (unverified — hide if unset). Warranty gated on warranty_years (partial). Cert order per brief: CertiPUR, B Corp, Land to Market, FernMark, OEKO-TEX.
Mobile (375 px)

Single column under gallery. All blocks 1-6 + enhancements stack vertically full-width. Size dropdown touch-friendly (≥44 px). Firmness cards stack 1-up at very narrow widths if sub-labels can't fit.

Desktop (1440 px, breakpoint 990)

~570 px wide right column adjacent to gallery. All blocks full-width within column. Composition order locked.

Notes: Single most-protected section in the run: 8 snippets touched. Every change is size/font/color only per brief.buybox_pattern.permitted_changes. Composition order is load-bearing.

5

Standalone trust stack (under gallery)

EXTEND id: trust-strip pattern: product-trust-stack

Purpose: Cert logo row + delivery/trial/warranty promise pills under the gallery image (NOT inside buy-box). Keeps right column tight while making certs visible.

Protected files touched (2): snippets/product-trust-stack.liquid sections/product-template.liquid
Addresses audit: audit-02 audit-06

Slots (3)

idkindpurposedata_sourcemetafieldconstraints
cert-logo-rowtrust-stripHorizontal cert logo row in NHC-approved order.authoredOrder: CertiPUR, B Corp, Land to Market, FernMark, OEKO-TEX Standard 100. NO RWS, NO GOTS, NO GOLS. REPLACE live GOTS/RWS logos. ≤80 px each.
delivery-pillmicrocopy'Made to order · Ships in 5 working days'.authored
warranty-pillmicrocopy'<N>-year warranty' — sourced from metafield. Hide if unset (status:partial).metafieldwarranty_years
Mobile (375 px)

Cert row scrollable horizontally if needed (only allowed horizontal scroll on the page); pills stack below.

Desktop (1440 px)

Cert row + pills inline below gallery image, contained to gallery column width.

Notes: Live PDP cert ribbon ships GOTS+RWS — audit-02 flags as critical organic-claim violation for NHC. This slot constraint REPLACES the live set with NHC-approved.

6

Materials & construction breakdown

EXTEND id: materials-breakdown pattern: icon-with-text-slider

Purpose: Layer-by-layer storytelling. Verified material/build claims: Individually Pocketed Spring Core, Reinforced Edge Zone, Airelle Natural Wool Comfort Layer, Cushioning Comfort Layer, Velura knit cover — TENCEL™ and cashmere infused. Earns the price.

Sequence rationale: Position 6: matches design-reference template order. Pre-empts the comparison section by establishing what 'Select' uniquely offers.

Protected files touched (1): templates/product.nish-natural-wool.json
Addresses audit: audit-02

Slots (2)

idkindpurposedata_sourceconstraints
section-headingheadlineH2 introducing the construction stack. Materials-forward, no superlatives.authored32 px IveMode desktop, 26 px mobile. ≤8 words. No forbidden verbs.
layer-cardslist4 cards/slides. Each: image + headline + 1-2 sentence body. ONLY verified claim allowed_copy.authoredExactly 4 cards at MVP. Image 4:3 or 1:1. NO 'organic', GOTS/GOLS/RWS, 'pure NZ wool' / '100% NZ wool', Made-in. NO invented proprietary tech names.
Mobile (375 px, breakpoint 768)

1-up swipeable carousel. Each card full-width. Body ≥14 px. Carousel dots below.

Desktop (1440 px)

2-column grid or 4-up carousel. Container max 1400 px.

7

Natural Harmony range comparison (Essentia / Select / Reserve)

EXTEND id: comparison-table pattern: mattress-comparison

Purpose: Intra-range comparison — EXACTLY 3 NHC tier cards (Essentia, Select highlighted, Reserve). NO external competitor cards (Avocado/Naturalmat/Simba/DreamCloud/Vi-Spring forbidden).

Sequence rationale: Position 7: between materials-breakdown and FAQ. Matches inspiration's canonical sequence (materials → comparison → trial/warranty).

Protected files touched (2): sections/mattress-comparison.liquid templates/product.nish-natural-wool.json
Addresses audit: audit-07

Slots (4)

idkindpurposedata_sourceconstraints
section-headingheadlineH2 framing the range choice. Calm, evidence-led.authored≤10 words. No 'best', 'ultimate', 'perfect'.
tier-card-essentiatableCard 1: Essentia (Essential, 27 cm, AED 3,501). Image + name + height + build-type + from-price + 5 spec rows + CTA. NOT highlighted.productProduct link: natural-harmony-essentia-mattress. Spec values from wiki. Build-type 'Regular never-turn'. Subtle border.
tier-card-selecttableCard 2: Select (Premier, 30 cm, AED 3,921) — CURRENT. 'You're viewing' badge + thicker border (#537156).productProduct link: natural-harmony-select-mattress. 1.5 px #537156 accent border + ribbon/badge. Build-type 'Regular never-turn'.
tier-card-reservetableCard 3: Reserve (Signature, 35 cm, AED 5,337). Build 'Euro-top, dual-spring (micropocket + main spring core)'.productProduct link: natural-harmony-reserve-mattress. CTA accent #54412f canonical brown (Signature-Collection convention).
Mobile (375 px, breakpoint 768)

1-up swipeable carousel. Select default visible. Dots indicator. Card-per-row — NO horizontal table overflow.

Desktop (1440 px)

3-column grid, all 5 spec rows visible per card.

Notes: Section is fully implemented but not yet wired into templates/product.nish-natural-wool.json's order array. Phase 4 + Phase 5 must verify the order array has EXACTLY 3 mattress blocks — Hypnos drafts and external competitor blocks are forbidden.

8

Certifications detail band

EXTEND id: certifications pattern: product-buybox-enhancements

Purpose: Each NHC-approved cert gets a logo + 1-line explanation. Builds buyer confidence.

Sequence rationale: Position 8: under comparison. Third proof layer after construction and range positioning.

Protected files touched (2): snippets/product-buybox-enhancements.liquid snippets/product-trust-stack.liquid
Addresses audit: audit-02

Slots (2)

idkindpurposedata_sourceconstraints
section-headingheadlineH2 introducing certifications. Plain.authored≤7 words.
cert-detail-listlist5 cert items: CertiPUR, B Corp (Airelle), Land to Market (Airelle), FernMark (Airelle), OEKO-TEX Standard 100. Each: logo + name + 1-sentence explanation.authoredOrder locked. NO GOTS, GOLS, RWS. Supplier-level certs attributed ('Wisewool — B Corp...').
Mobile (375 px)

1-column stack, each cert one row (logo + label + explanation).

Desktop (1440 px)

5-column grid or 2-column responsive; explanation ≥14 px.

9

Trial & warranty

EXTEND id: sleep-trial-and-warranty pattern: product-buybox-enhancements

Purpose: Risk-inversion section. Trial nights (gated). Warranty years (gated). Adopt DreamCloud 'Test it, trust it, keep it' framing in tone; no superlatives.

Sequence rationale: Position 9: classically sits just before reviews — primes trust in social proof.

Protected files touched (1): snippets/product-buybox-enhancements.liquid
Addresses audit: audit-03

Slots (4)

idkindpurposedata_sourcemetafieldconstraints
section-headingheadlineH2 framing risk-reversal. Calm, plain.authored≤8 words.
trial-blockbodyTrial block. RENDERS ONLY if trial_nights set AND brand verified. Currently UNVERIFIED per brief.claims[10].metafieldtrial_nightsConditional render. If absent, section degrades to warranty-only.
warranty-blockbodyWarranty block. Status:partial per brief.claims[9]. Plain '<N>-year warranty'.metafieldwarranty_yearsRender only if set. No 'Forever Warranty' equivalent.
supporting-imageimageOptional bedroom/unboxing context. Conveys risk-free framing without language.product4:3. Neutral, warm-light. Optional.
Mobile (375 px)

Stacked: heading, image (if present), trial block, warranty block.

Desktop (1440 px)

Split image + text (~50/50) if image present; otherwise narrative column ≤700 px wide.

Notes: Both trial and warranty are conditionally rendered — Reviewer must NOT see fabricated trial-night counts.

10

Customer reviews

EXTEND id: reviews pattern: custom-reviews

Purpose: Visible review excerpts + aggregate rating. Drives AggregateRating JSON-LD ONLY when include_review_schema=true AND real review data exists. Brief currently sets false — section renders frame + aggregate readout but no JSON-LD.

Sequence rationale: Position 10: classic placement — after risk-reversal, before FAQ. Frame present even when reviews data is empty.

Protected files touched: none
Addresses audit: audit-06

Slots (3)

idkindpurposedata_sourcemetafieldconstraints
section-headingheadlineH2 introducing customer reviews. Plain.authored≤6 words.
aggregate-rating-readoutratingAggregate rating + count summary. Hides when count==0.metafieldrating_countStar glyphs 18 px. Format '<value> · <count> reviews'. NEVER fabricate.
review-card-listlist5 verified-customer cards (carousel mobile). Each: stars + initial/first-name + excerpt + verified-purchase tag.externalSourced from custom-reviews CSV-backed carousel. Real reviews only. If CSV <3 entries, hide card list.
Mobile (375 px)

1-up swipeable carousel.

Desktop (1440 px)

3-up grid with carousel arrows if >3 reviews.

11

FAQ

EXTEND id: faq pattern: image-with-faq

Purpose: Buyer-objection answers. ≥3 real Q&A to drive FAQPage JSON-LD. Questions sourced from real patterns — sleep position, climate, delivery, returns. NO provenance questions.

Sequence rationale: Position 11: standard PDP order. image-with-faq serves the FAQ role; standalone faq.liquid is disabled by design.

Protected files touched: none

Slots (2)

idkindpurposedata_sourceconstraints
supporting-imageimageImage-half of image-with-faq split. Bedroom or material-detail.product4:3 or 1:1. Neutral palette.
faq-accordionaccordionAccordion with ≥5 Q&A: sleep position, hot-climate breathability, made-to-order delivery, returns/trial, care & cleaning, sizing. NO provenance / Made-in / factory questions.authoredMin 5 entries to drive FAQPage JSON-LD. Q ≤80 chars, A 1-3 sentences. Accordion handle ≥44×44. NO forbidden phrases. NO Made-in. NO 'organic mattress'/GOTS/RWS.
Mobile (375 px)

Image stacks above accordion, full-width. Accordion 1-column.

Desktop (1440 px)

50/50 split — image left, accordion right. Container max 1400 px.

12

Related products / cross-sell

EXTEND id: related-products pattern: static-product-recommendations

Purpose: Cross-sell rail near page bottom. Adjacent NHC accessories / other Huxberry collections. NOT a competitor comparison.

Sequence rationale: Position 12 (final). Conventional. Re-enables static-product-recommendations section (currently disabled flag in design-reference template) — flag flip only, not file removal.

Protected files touched: none

Slots (2)

idkindpurposedata_sourceconstraints
section-headingheadlineH2 framing cross-sell. e.g., 'Pairs well with' or 'Complete your sleep setup'.authored≤6 words. No 'You might like' / 'Customers also bought'.
product-card-raillist3-4 product cards: image + title + from-price + 'View' CTA.productCard image 1:1. Title IveMode 18 px. From-price Montserrat 14 px. NO 'Discover', 'Experience', 'Know More'. CTA plain ('View', 'See more') — not 'Shop now'.
Mobile (375 px)

1-up swipeable carousel.

Desktop (1440 px)

4-up grid.

Audit issue coverage (8 / 8)

Audit idSection addressingTitle
audit-01hero (+ buy-box)Live price-compare HTML renders 'asdsad' placeholder
audit-02trust-strip (+ materials-breakdown, certifications)Copy + cert stack surface organic / 100% wool / GOTS that NHC wiki forbids
audit-03buy-box (+ hero, sleep-trial-and-warranty)Buybox carries no rating, no trial, no warranty, no certs — dead-zone gap
audit-04buy-box (+ hero)'Features: Natural & Sustainable' single-value dropdown
audit-05sticky-add-to-cartNo sticky add-to-cart at any mobile width
audit-06reviews (+ trust-strip)Reviews module structurally absent — no app, no AggregateRating
audit-07comparison-tableNo comparison surface between Essentia / Select / Reserve
audit-08trust-strip (+ wireframe-wide forbidden_phrases policy)Marketing audit recommends 'Made in UAE' — wiki forbids on NHC