Developer docs  /  Themes

CSS helpers & Fluid

Defined in assets/theme.css, all driven by the design-token CSS variables(so theme settings, dark mode, and section style overrides apply):

  • page-section / page-section--altUse: Section outer band (alt = tinted surface)
  • containerUse: Max-width content column (--container-width)
  • grid grid--cols-2/3/4Use: Responsive card grids
  • text-center mb-1 + page-subtitleUse: The standard section heading pair
  • feature-card, testimonial-cardUse: General card skins
  • btn-primary, btn-outlineUse: Buttons (honour --button-* overrides)
  • space-card, location-card markupUse: Copy from the snippets, don't re-invent — their data-*/class contracts feed the listing JS
  • empty-stateUse: Friendly "nothing here" block
  • Empty lists are truthy — test {% if Things.size > 0 %}, never  {% if Things %}.
  • .size, not .length on lists.
  • Membership tests on arrays: use the loop-with-flag pattern (see Recipe 4)  — it works everywhere and survives Fluid/Liquid dialect differences.
  • {% assign %} inside a {% for %} persists after the loop within the  same file — that's what makes the loop-with-flag pattern work.
  • Filters that return markup (attr_icon, attr_icon_key) must be piped  through | raw.