themes-pastel-dream/blocks/bakers_note.ninjatpl
Alex Dunmow e6348edd10 fix(pastel-dream): reliable layout via theme CSS + graceful empty media
Host Tailwind (v4, source(none)) does not scan installed .bnp theme
templates, so grid/aspect/gap/padding utilities used only in this theme
were silently dropped: custom persona blocks collapsed to a single
full-width column, media boxes rendered as thin strips, and p-5 loss
clipped the first glyph of every description. Move the theme's layout
primitives into css.input_css_append as plain CSS with explicit
media queries (mobile-first, collapse to 1 column) so the render no
longer depends on the JIT content scan.

- Add .pd-section / .pd-grid(--2/--3/--lg-2/--lg-4) / .pd-menu-cols /
  .pd-menu-list / .pd-media(--square) / .pd-card-body helpers to both
  manifest.yaml (served) and assets/style.css. Semantic tokens only.
- seasonal_specials + cake_gallery: reliable responsive grid, OMIT the
  media box when no image is set (no ballooning empty boxes / thin
  strips), real body padding.
- menu-list: honor columns=2 as a true two-up board; reliable item spacing.
- hours-location / feature-grid: reliable responsive grids.
- Tighten section rhythm (py-14/py-24 -> .pd-section) to remove dead bands.
- navbar drawer width pinned in its inline <style>; body overflow-x: clip
  guards against horizontal scroll on small screens.

No .reveal/scroll-reveal content-hiding in this theme (stats count-up
only, values render by default). No version bump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 17:26:33 +08:00

15 lines
1.0 KiB
Plaintext

<section data-block="pastel-dream:bakers_note" class="pd-section bg-background text-foreground{% if class %} {{ class }}{% endif %}">
<div class="mx-auto max-w-3xl px-4">
<div class="pd-card relative overflow-hidden p-8 text-center md:p-12">
<div class="pointer-events-none absolute -right-16 -top-16 h-48 w-48 rounded-full bg-accent/15 pd-breathe" aria-hidden="true"></div>
<div class="pointer-events-none absolute -bottom-20 -left-12 h-56 w-56 rounded-full bg-primary/10 pd-breathe" aria-hidden="true"></div>
<div class="relative">
{% if kicker %}<p class="pd-hand text-2xl text-accent">{{ kicker }}</p>{% endif %}
{% if body %}<div class="pd-body mx-auto mt-4 max-w-xl text-lg text-foreground [&_strong]:text-primary">{{ body|safe }}</div>{% endif %}
{% if signatureName %}<p class="pd-display mt-6 text-2xl text-primary">{{ signatureName }}</p>{% endif %}
{% if signatureRole %}<p class="pd-body text-sm text-muted-foreground">{{ signatureRole }}</p>{% endif %}
</div>
</div>
</div>
</section>