{# pb-24 reserves room so the sticky audio player, when docked to the bottom
of the viewport, never covers the last content (related sermons, tags…).
Only needed when there's an audio player to dock. #}
{# The tooltip goes through the catalogs so the separator can
follow the language - CJK wants a full-width colon and no
space, not ": ". #}
Revolution: The Christian Story From Acts - Part 3
{# justify-center, not justify-around: around gives each item a half-size
space at the row ends, which reads as an even spread with three items
but leaves two items sitting off-centre. Centring the group keeps the
row balanced whatever combination of preacher, date, time and series
a sermon has. The lg:px-8 on each item supplies the gap between. #}
{# The description and the sermon's metadata share one grid: the
description takes two thirds, the metadata rail takes the last
third. Explicit column starts keep the rail on the right even
when the description is absent. On small screens the grid
collapses to one column and the rail follows the description.
The transcription sits outside this grid, below it, so it keeps
the full page width - its two-column timestamp/paragraph rows
and tall scroll pane need the room. #}
{# No player on the page - either the church is archived or the
sermon has no audio. The transcription component still renders,
and its rows read `$store.playback` and call `seekAndPlay`, so
both have to exist or Alpine throws on every row. #}