themes-art-deco/RECOMMENDED_FONTS.md
Alex Dunmow 03c49a9a83 feat(art-deco): Wave A supper-club theme — 49 overrides, 7 templates, seed
WO-TF-011: dress the fine-dining / supper-club persona (gilded symmetry,
ziggurat frames, sunbursts, hairline gold rules; champagne/ivory light,
gold-on-lacquer dark) against the frozen Wave-0 builtin schemas.

Overrides (templates/overrides/art-deco/): all 49 mandatory builtin keys,
each re-skinned from the builtin default with every content field, provider
field, custom tag ({% img %}/{% button %}/{% form %}/{% signup_form %}/
{% auth_form %} wiring) and JS (navbar drawer, gallery lightbox, countdown,
stats count-up, video/audio facade, announcement dismiss) preserved verbatim.
Auth trio reproduces the untouchable /api/auth/* endpoints and field names;
captcha widget injected from _captcha_widget. manifest.yaml declares all 49.

Page templates: added blog-index, contact, auth (now 7 total) in Deco chrome.

Blocks rework (spec D5): footer/hero(marquee)/gallery/divider/pull-quote theme
blocks deleted — folded into overrides of the builtin keys. Kept persona
furniture reservation + menu; added private_dining + chef_signature (4 blocks).

Presets: 4 dual-mode (mode "both"), all 19 tokens, light AND dark tuned.
Fonts: bundle Cinzel + Cormorant Garamond (OFL) as Latin woff2 subsets in
assets/fonts/ (license recorded in OFL.txt); all font-family via var().
Email wrapper themed. required_icon_packs=["lucide"] + RECOMMENDED_ICONS.md.

Seed (demo): home/about/blog(3 posts)/contact/login pages in supper-club voice;
contact-form targets seeded contact_submissions data table; row_inserted
workflow emails admins.

Verified: ninja plugin build (codeless), verify, archive-check, and
check-safety all exit 0. Visual quality UNVERIFIED until Wave B.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 10:51:02 +08:00

1.6 KiB

Recommended Fonts — Art Deco

This theme bundles its display and body families as subset woff2 files in assets/fonts/ (see fonts.json). They install as source=template rows and are pre-selected for the theme's typography slots — no admin action is required for the intended look. The families below are the fallbacks baked into every var(--font-heading|body|mono, …) call, so the theme still reads correctly if an admin reassigns a slot.

Bundled (shipped in this theme)

Slot Family Weights File(s) License
Heading Cinzel 400, 700 assets/fonts/cinzel-*.woff2 SIL OFL 1.1
Body Cormorant Garamond 400, 400 italic, 600, 700 assets/fonts/cormorant-garamond-*.woff2 SIL OFL 1.1

License record and copyright attribution: assets/fonts/OFL.txt. The woff2s are Latin subsets of the upstream OFL families (subsetting is permitted by the OFL).

Mono slot (not bundled — assign if needed)

The theme uses var(--font-mono, "JetBrains Mono", ui-monospace, monospace) for reservation IDs and tabular figures. To match the intended look, an admin can assign a mono family:

  1. Sign in as an admin, open Settings → Typography.
  2. Switch to the Google Fonts tab and add JetBrains Mono.
  3. Assign it to the Mono slot.

If left unset, the CSS falls back to the system monospace stack.

Alternatives (optional)

  • Heading: google:Italiana — a thinner, higher-contrast display cut; already the second fallback in the heading var() list.
  • Body: the system serif stack (Georgia, serif) is the final fallback.