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>
18 lines
1.8 KiB
Plaintext
18 lines
1.8 KiB
Plaintext
<section class="py-16 md:py-24 bg-background text-foreground{% if class %} {{ class }}{% endif %}">
|
|
<div class="mx-auto max-w-6xl px-4">
|
|
{% if eyebrow %}<p class="pd-hand text-center text-2xl text-accent">{{ eyebrow }}</p>{% endif %}
|
|
{% if heading %}<h2 class="pd-display mt-1 text-center text-3xl text-primary md:text-4xl"><span class="pd-doodle-underline">{{ heading }}</span></h2>{% endif %}
|
|
{% if intro %}<p class="pd-body mx-auto mt-4 max-w-2xl text-center text-lg text-muted-foreground">{{ intro }}</p>{% endif %}
|
|
<div class="mt-12 pd-grid pd-grid--2 {% if columns == 2 %}pd-grid--lg-2{% elif columns == 4 %}pd-grid--lg-4{% else %}pd-grid--3{% endif %}">
|
|
{% for item in items %}
|
|
<div class="{% if layout == "card" %}pd-card p-6 transition-shadow hover:shadow-md{% elif layout == "centered" %}text-center{% endif %}">
|
|
{% if item.icon %}<div class="mb-4 inline-flex h-11 w-11 items-center justify-center rounded-full bg-accent/15 text-accent{% if layout == "centered" %} mx-auto{% endif %}"><svg class="h-6 w-6" aria-hidden="true"><use href="/icons/{{ item.icon|split:":"|first }}.svg#{{ item.icon|split:":"|last }}"></use></svg></div>{% endif %}
|
|
<h3 class="pd-display text-xl text-primary">{% if item.linkUrl %}<a href="{{ item.linkUrl }}" class="transition-colors hover:text-accent">{{ item.title }}</a>{% else %}{{ item.title }}{% endif %}</h3>
|
|
{% if item.text %}<p class="pd-body mt-2 text-muted-foreground">{{ item.text }}</p>{% endif %}
|
|
{% if item.linkUrl and item.linkLabel %}<a href="{{ item.linkUrl }}" class="pd-hand mt-3 inline-flex items-center gap-1 text-lg text-accent hover:underline">{{ item.linkLabel }}<svg class="h-4 w-4" aria-hidden="true"><use href="/icons/lucide.svg#arrow-right"></use></svg></a>{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</section>
|