/*
 * Sermons — front-end stylesheet
 *
 * Uses CSS custom properties so theme authors can override individual values
 * without touching this file and without needing to modify their theme:
 *
 *   body {
 *       --swp-accent-color: #8b1a1a;
 *       --swp-font-size-meta: 0.9rem;
 *   }
 *
 * All selectors are namespaced with .sermons-wp-* to avoid collisions.
 */

/* ── Custom properties (defaults) ─────────────────────────────────────── */

:root {
	--swp-accent-color:       #1a5276;
	--swp-text-color:         inherit;
	--swp-meta-color:         #555;
	--swp-divider-color:      #ddd;
	--swp-month-border-color: #1a5276;
	--swp-font-size-meta:     0.875rem;
	--swp-font-size-month:    1.1rem;
	/* Empty scoped-search message: between body and month heading; scales slightly with viewport */
	--swp-font-size-empty-search: clamp(1rem, 0.9rem + 0.35vw, 1.125rem);
	--swp-spacing-xs:         0.25rem;
	--swp-spacing-sm:         0.5rem;
	--swp-spacing-md:         1rem;
	--swp-spacing-lg:         1.75rem;
	--swp-spacing-xl:         2.5rem;
	/* Margin above month stripe rows (`<li class="…-sermon-list-month">`). Shared archive / pastor / year views — themes may bump via this var. */
	--swp-sermon-month-group-margin-top: var(--swp-spacing-sm);

	/* Below full browse `<details>` widget toward the sermon list (collapsible mode). */
	--swp-archive-browse-outer-gap: var(--swp-spacing-md);
	/* Grey scoped panel + below-panel row (list-mode / pastors link); themes may override. */
	--swp-browse-panel-padding-block:  var(--swp-spacing-md);
	--swp-browse-panel-padding-inline: var(--swp-spacing-md);
	--swp-browse-panel-margin-bottom:  var(--swp-spacing-sm);
	--swp-browse-below-panel-margin-top:    0;
	--swp-browse-below-panel-margin-bottom: var(--swp-spacing-md);
	--swp-browse-below-panel-row-gap:       var(--swp-spacing-sm);
	/* Intro block → browse UI / scripture index / pastors. Do not rely on
	   `:has(+ …)` alone: newline/whitespace between PHP blocks becomes a `#text` sibling
	   and breaks the adjacent combinator across themes. Themes may override via this var. */
	--swp-archive-intro-margin-bottom: var(--swp-spacing-md);
	/* Back-link «← …»: <p> has no plugin margin. Lay-reader double rows: xs between.
	   Title gap: Genesis (and similar) applies a large margin-top to the first h1
	   inside .entry-content; single-pastor uses .entry-title with a tight stack.
	   Pilgrim mirror (~8091): Cmd+F y-offsets give ~2px from link text to title vs ~19px
	   when the h1 rule failed because `p + h1` does not match across whitespace text nodes. */
	--swp-page-header-back-gap-between-rows: var(--swp-spacing-xs);
	--swp-page-header-back-gap-to-title: 0.125rem;
	/* Pastor single date-list: `.sermons-wp-pastor-sermons` after post content / title. */
	--swp-pastor-sermons-margin-top: var(--swp-spacing-md);
}

/* Match core themes that omit .screen-reader-text (summary/button a11y). */
.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ── Back-link «← …» above titles ─
 * Virtual-post archives use <header class="page-header"><h1 class="page-title">.
 * Themes often give that h1 a large margin-top (unlike singular .entry-title). */

header.page-header {
	margin: 0;
	padding: 0;
	border: 0;
}

p.page-header-back {
	margin: 0;
	line-height: 1.25;
}

/* Virtual sermon/archive bodies wrap the back link in `.entry-content`, so
 * theme paragraph rules (e.g. Genesis `.entry-content p { padding: 0 0 20px }`)
 * add a large gap before the `<h1>`. Pastor singles often render the same `<p>`
 * outside `.entry-content`, which reads as the “canonical” tight stack. */
.entry-content header.page-header p.page-header-back {
	margin: 0 !important;
	padding: 0 !important;
}

.page-header .page-header-back + .page-header-back {
	margin-top: var(--swp-page-header-back-gap-between-rows);
}

/* Use :has/child selectors, not `p + h1`: PHP templates often emit whitespace
   between `</p>` and `<h1>`, which breaks the adjacent-sibling combinator. */
header.page-header:has(> .page-header-back) > h1.page-title,
.entry-content header.page-header:has(> .page-header-back) > h1.page-title {
	/* Genesis and similar themes set a large first-h1 margin in .entry-content. */
	margin-top: var(--swp-page-header-back-gap-to-title) !important;
}

.entry-header:has(> .page-header-back) > h1.entry-title {
	margin-top: var(--swp-page-header-back-gap-to-title) !important;
}

/*
 * Theme `single.php` path: `loop_start` echoes `<p class="page-header-back">` before
 * the theme’s `.post` / `article.hentry`, so it is not inside `.entry-content` or
 * `.entry-header` and the rules above do not apply (see Sermons_WP_Pastor::render_back_link_above_title).
 */
body.single-pastor #inner #content > p.page-header-back,
body.single-pastor #content > p.page-header-back,
body.single-pastor .hfeed > p.page-header-back {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25;
}

body.single-pastor p.page-header-back + .post .entry-title,
body.single-pastor p.page-header-back + article .entry-title,
body.single-pastor p.page-header-back + .hentry .entry-title {
	margin-top: var(--swp-page-header-back-gap-to-title) !important;
}

/* Tighten title → first `.entry-content` block (browse region / bio) on pastor singles. */
body.single-pastor .entry-header {
	margin-bottom: var(--swp-spacing-sm);
}

/* ── Sermon archive ────────────────────────────────────────────────────── */

.sermons-wp-archive {}

/* ── Archive / list cursor (WebKit caret jitter near inline links) ────────
 * `cursor: auto` resolves to text (I-beam) over selectable prose; dense `<a>`
 * runs make the UA flip I-beam versus default at subpixel boundaries.
 * Prefer arrow shells; explicit pointer on links and obvious controls;
 * retain I‑beam inside search `<input>`. */

.sermons-wp-archive-landing,
.sermons-wp-archive-widgets,
.sermons-wp-browse-region-wrap,
.sermons-wp-scoped-list-accent-block,
.sermons-wp-scoped-list-scope-panel,
.sermons-wp-year-filter,
.sermons-wp-year-chips,
.sermons-wp-archive-search,
.sermons-wp-archive-search-row,
.sermons-wp-search-filter-bar,
.sermons-wp-search-filter-bar__summary,
.sermons-wp-scripture-index,
.sermons-wp-scripture-book-nav,
.sermons-wp-scripture-layout-sidebar .sermons-wp-scripture-book-nav--sidebar,
.sermons-wp-scripture-table,
.sermons-wp-pagination-wrap,
.sermons-wp-pagination,
.sermons-wp-index-per-page,
.sermons-wp-per-page-chip-current,
.sermons-wp-list-mode-wrap,
.sermons-wp-list-search-no-results,
.sermons-wp-browse-intro-callout,
.sermons-wp-list-filter-empty-placeholder,
.sermons-wp-month-heading,
.sermons-wp-month-group,
.sermons-wp-sermon-list,
.sermons-wp-sermon-meta,
.sermons-wp-pastor-section,
.sermons-wp-pastor-row,
.sermons-wp-archive-search-row--browse-below-panel {
	cursor: default;
}

.sermons-wp-archive-widgets a,
.sermons-wp-browse-intro-callout a,
.sermons-wp-pagination-wrap a,
.sermons-wp-pagination a,
.sermons-wp-scripture-index a,
.entry-content ul.sermons-wp-scripture-collapsed-list a,
ul.sermons-wp-scripture-collapsed-list a,
.sermons-wp-scripture-layout-sidebar .sermons-wp-scripture-book-nav--sidebar a,
.sermons-wp-per-page-chip,
.sermons-wp-archive-search-row a,
.sermons-wp-list-mode-switch,
.sermons-wp-search-clear-query,
a.sermons-wp-year-chip,
.sermons-wp-browse-region-summary--visible,
.sermons-wp-browse-region-remote-toggle,
.sermons-wp-pastor-row-title a,
.sermons-wp-pastor-section a,
ul.sermons-wp-sermon-list a {
	cursor: pointer;
}

.sermons-wp-archive-widgets input[type="search"],
.sermons-wp-archive-search-input,
.sermons-wp-search-filter-bar input[type="search"] {
	cursor: text;
}

.sermons-wp-year-select,
.sermons-wp-scripture-book-select {
	cursor: pointer;
}


/* CPT landing archive intros — prose comes from landing post `post_content`;
 * floated/block images rely on WordPress core `align*` classes and block markup. */

.sermons-wp-archive-landing {
	margin-bottom: var(--swp-archive-intro-margin-bottom);
	color: var(--swp-text-color);
	display: flow-root;
}

.sermons-wp-archive-landing__main {
	line-height: 1.6;
	min-width: 0;
	caret-color: currentColor;
}

.sermons-wp-archive-landing__main > *:first-child {
	margin-top: 0;
}

.sermons-wp-archive-landing__main > *:last-child {
	margin-bottom: 0;
}

.entry-content .sermons-wp-archive-landing .sermons-wp-archive-landing__main,
.entry-content .sermons-wp-archive-landing .sermons-wp-archive-landing__main p {
	cursor: default !important;
}

.entry-content .sermons-wp-archive-landing a {
	cursor: pointer !important;
}

/*
 * CPT landing intros: trump generic `.entry-content figure.align*` above (same
 * file, lower specificity without .archive-landing__main) — otherwise `max-width`
 * / margins follow `.entry-content` rules and sermon vs pastor archives can diverge
 * when themes order archive styles differently next to bundled plugin CSS.
 */
.entry-content .sermons-wp-archive-landing__main figure.alignleft,
.entry-content .sermons-wp-archive-landing__main figure.alignright,
.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignleft figure,
.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignright figure {
	max-width: min(45%, 22rem);
	margin-block: 0 1rem;
	box-sizing: border-box;
}

.entry-content .sermons-wp-archive-landing__main figure.alignleft,
.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignleft figure {
	float: left;
	margin-inline: 0 1.25rem;
	margin-block: 0 1rem;
	clear: left;
}

.entry-content .sermons-wp-archive-landing__main figure.alignright,
.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignright figure {
	float: right;
	margin-inline: 1.25rem 0;
	margin-block: 0 1rem;
	clear: right;
}

.entry-content .sermons-wp-archive-landing__main figure.aligncenter {
	float: none;
	margin-left: auto;
	margin-right: auto;
	margin-block: 0 1rem;
	max-width: min(38rem, 100%);
	clear: both;
}

.entry-content .sermons-wp-archive-landing__main .wp-block-image.aligncenter figure {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-block: 0 1rem;
	max-width: min(38rem, 100%);
	clear: both;
}

.entry-content .sermons-wp-archive-landing__main figure.alignleft img,
.entry-content .sermons-wp-archive-landing__main figure.alignright img,
.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignleft figure img,
.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignright figure img {
	width: auto;
	max-width: 100%;
	height: auto;
}

@media (max-width: 600px) {
	.entry-content .sermons-wp-archive-landing__main figure.alignleft,
	.entry-content .sermons-wp-archive-landing__main figure.alignright,
	.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignleft figure,
	.entry-content .sermons-wp-archive-landing__main .wp-block-image.alignright figure {
		float: none;
		max-width: min(28rem, 100%);
		margin-left: auto;
		margin-right: auto;
		margin-inline: auto;
		clear: both;
	}
}



/* Month heading */
.sermons-wp-month-group {
	margin-top: var(--swp-sermon-month-group-margin-top);
	margin-bottom: var(--swp-spacing-md);
}

.sermons-wp-month-heading {
	font-size: var(--swp-font-size-month);
	font-weight: 600;
	border-bottom: 2px solid var(--swp-month-border-color);
	padding-bottom: var(--swp-spacing-xs);
	margin: 0 0 var(--swp-spacing-md);
	color: var(--swp-accent-color);
}

/* Individual sermon row spacing.
   No inter-row divider on purpose — sermons within a month group are
   separated by pure whitespace, and the month heading's 2px accent
   underline is the only horizontal rule. Matches the legacy Rails app
   in the legacy Rails sermons archive and reads as more visually balanced
   than a faint per-row line (#ddd on white). See SERMONS-107.
   Padding tightened in SERMONS-115 (was --swp-spacing-md = 1rem) to
   bring the row rhythm in line with the legacy app.
   SERMONS-118: the legacy `.sermons-wp-sermon-row` div + `.sermons-wp-sermon-title`
   <h3> markup that used to live here was retired when archive-sermon-body.php
   and Sermons_WP_Pastor::append_sermon_list converged on the lighter
   `<ul class="sermons-wp-sermon-list"><li>` markup (now emitted by
   Sermons_WP_Presentation::render_sermon_list_items_html()). All sermon-row
   spacing now lives on `.sermons-wp-sermon-list li` below — single source
   of truth, single visual rhythm everywhere. */

.sermons-wp-sermon-meta {
	font-size: var(--swp-font-size-meta);
	color: var(--swp-meta-color);
	margin: 0;
	line-height: 1.5;
}

.sermons-wp-sermon-meta .swp-meta-item + .swp-meta-item::before {
	content: " · ";
}

.sermons-wp-pastor-name a {
	color: inherit;
}

/* ── Single sermon page ────────────────────────────────────────────────── */

.sermons-wp-single {}

.sermons-wp-single-meta {
	font-size: var(--swp-font-size-meta);
	color: var(--swp-meta-color);
	margin-bottom: var(--swp-spacing-lg);
	border-left: 3px solid var(--swp-accent-color);
	padding-left: var(--swp-spacing-md);
}

/* Reset margins AND padding on every element inside the meta block.
   The accent-bar (border-left) on `.sermons-wp-single-meta` is sized to
   its content box, so any padding applied by the active theme to the
   inner <p>/<dl>/<dt>/<dd> leaves the bar extending past the visible
   text. Common theme rules like `.entry-content p { padding: 0 0 20px; }`
   (e.g. Genesis child themes, including Minimum) and
   `.entry-content p { margin: 0 0 28px; }` (Genesis core, Twenty
   Twenty-Three, etc.) sit at specificity (0,1,1); bumping our selectors
   to (0,2,0) by chaining `.sermons-wp-single-meta` ensures we always
   win, on any classic or block theme, without theme detection. */
.sermons-wp-single-meta dl,
.sermons-wp-single-meta dt,
.sermons-wp-single-meta dd,
.sermons-wp-single-meta .sermons-wp-additional-info {
	padding-block: 0;
}

.sermons-wp-single-meta dl {
	margin: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--swp-spacing-xs) var(--swp-spacing-md);
	align-items: baseline;
}

.sermons-wp-single-meta dt {
	font-weight: 600;
	white-space: nowrap;
}

.sermons-wp-single-meta dd {
	margin: 0;
}

.sermons-wp-single-meta a {
	color: var(--swp-accent-color);
}

.sermons-wp-single-meta .sermons-wp-additional-info,
.sermons-wp-additional-info {
	margin: var(--swp-spacing-sm) 0 0;
	font-size: var(--swp-font-size-meta);
	color: var(--swp-meta-color);
}

/* "(Guest)" suffix appended after a guest pastor's name on:
 *   - the single sermon page meta block (Pastor row, after the <a> link)
 *   - the single pastor page <h1> entry-title (via the_title filter)
 * Intentionally unstyled: inherits font-family, weight, size, style, and
 * color from its container (<h1> for the pastor page, <dd>/<a> for the
 * sermon meta block) so it reads as part of the same line of text as the
 * pastor's name. The class is kept for downstream consumers that want to
 * customize it via CSS. */

/* ── In-content image alignment ───────────────────────────────────────── */
/*
 * Covers Gutenberg image blocks, Classic editor images, [swp_image] shortcode,
 * and raw HTML that carries standard WordPress alignment classes.
 */

.entry-content .alignleft,
.entry-content img.alignleft,
.entry-content figure.alignleft,
.entry-content .wp-block-image.alignleft figure {
	float: left;
	margin: 0 var(--swp-spacing-lg) var(--swp-spacing-md) 0;
	max-width: 45%;
}

.entry-content .alignright,
.entry-content img.alignright,
.entry-content figure.alignright,
.entry-content .wp-block-image.alignright figure {
	float: right;
	margin: 0 0 var(--swp-spacing-md) var(--swp-spacing-lg);
	max-width: 45%;
}

.entry-content .aligncenter,
.entry-content img.aligncenter,
.entry-content figure.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.entry-content .alignleft img,
.entry-content .alignright img {
	width: 100%;
	height: auto;
}

/* Clearfix so entry-content fully encloses floated children */
.entry-content::after {
	content: "";
	display: table;
	clear: both;
}

/* Stack floated images on narrow viewports */
@media (max-width: 600px) {
	.entry-content .alignleft,
	.entry-content .alignright,
	.entry-content img.alignleft,
	.entry-content img.alignright,
	.entry-content figure.alignleft,
	.entry-content figure.alignright {
		float: none;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

/* ── Pastor archive ────────────────────────────────────────────────────── */

.sermons-wp-pastor-archive {}

.sermons-wp-pastor-row {
	padding: var(--swp-spacing-md) 0;
	border-bottom: 1px solid var(--swp-divider-color);
}

.sermons-wp-pastor-row:last-child {
	border-bottom: none;
}

.sermons-wp-pastor-row-title {
	margin: 0 0 var(--swp-spacing-xs);
}

.sermons-wp-pastor-row-title a {
	color: var(--swp-accent-color);
	text-decoration: none;
}

.sermons-wp-pastor-row-title a:hover {
	text-decoration: underline;
}

.sermons-wp-pastor-row-meta {
	font-size: var(--swp-font-size-meta);
	color: var(--swp-meta-color);
	margin: 0;
}

/* ── Pastor single — sermon list ───────────────────────────────────────── */

.sermons-wp-pastor-sermons {
	margin-top: var(--swp-pastor-sermons-margin-top);
}

/* Per-pastor date list: on many singular templates `h1.entry-title` sits *above* `.entry-content`, while hub
 * archives put `.page-header` (margin 0) *inside* `.entry-content` first. When the sermon list wrap is the
 * first element in `.entry-content` (no bio/body before it), `--swp-pastor-sermons-margin-top` duplicated
 * vertical gap vs hub. Measured (Chromium): first-child margin-top 16px here vs 0 on hub /sermons/by-year. */
body.single-pastor .entry-content > .sermons-wp-pastor-sermons:first-child {
	margin-top: 0;
}

.sermons-wp-pastor-status {
	font-size: var(--swp-font-size-meta);
	color: var(--swp-meta-color);
	margin-bottom: var(--swp-spacing-md);
}

/* Include `.entry-content ul.sermons-wp-sermon-list` so theme rules such as
   `.entry-content ul { padding-bottom: 20px }` (Genesis / Pilgrim) do not win. */
.sermons-wp-sermon-list,
.entry-content ul.sermons-wp-sermon-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sermons-wp-pastor-sermons > .sermons-wp-sermon-list {
	margin-top: var(--swp-spacing-lg);
}

.sermons-wp-sermon-list .sermons-wp-sermon-meta {
	margin-top: var(--swp-spacing-xs);
	margin-bottom: 0;
}

/* SERMONS-118: single source of truth for sermon-row spacing. Both the
   main archive (/wpsermons, /wpsermons/<year>, /wpsermons/lay-readers-others)
   and the per-pastor list (/wppastors/<slug>) emit `<ul class="sermons-wp-sermon-list">`
   via Sermons_WP_Presentation::render_sermon_list_items_html(), so this is
   the only rule that governs row padding now. SERMONS-115 sized the
   padding for the legacy app rhythm; SERMONS-107 dropped per-row dividers
   in favor of pure whitespace separation under the month heading rule. */
/* SERMONS-118: month heading <li> resets this padding (see below). */
.sermons-wp-sermon-list li {
	padding: var(--swp-spacing-sm) 0;
}

/* Defeat themes that style every <li> inside .entry-content (e.g. Pilgrim's
   Genesis "minimum" theme: `.entry-content ul li { list-style-type: square;
   margin: 0 0 0 30px; }`). The `.entry-content ul.sermons-wp-sermon-list li`
   selector wins on specificity (0,2,2 vs the theme's 0,1,2); the bare
   `ul.sermons-wp-sermon-list li` selector covers themes that do not wrap
   content in `.entry-content` (most block themes). No !important. */
.entry-content ul.sermons-wp-sermon-list li,
ul.sermons-wp-sermon-list li {
	list-style: none;
	list-style-type: none;
	margin-left: 0;
}

/* Month heading row inside pastor sermon <ul> */
.sermons-wp-sermon-list li.sermons-wp-sermon-list-month {
	padding: 0;
	border-bottom: none;
	margin-top: var(--swp-sermon-month-group-margin-top);
}

.sermons-wp-sermon-list li.sermons-wp-sermon-list-month:first-child {
	margin-top: 0;
}

.sermons-wp-sermon-list li.sermons-wp-sermon-list-month .sermons-wp-month-heading {
	margin-bottom: var(--swp-spacing-md);
}

.sermons-wp-sermon-list a {
	color: var(--swp-accent-color);
	text-decoration: none;
}

.sermons-wp-sermon-list a:hover {
	text-decoration: underline;
}

/* ── Sermon archive search (GET `s`, scoped to list) ─────────────────────── */

.sermons-wp-archive-search-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--swp-spacing-xs) var(--swp-spacing-md);
	margin-bottom: var(--swp-spacing-lg);
	width: 100%;
	box-sizing: border-box;
	container-type: inline-size;
	container-name: swp-archive-search-row;
}

.sermons-wp-archive-search-row .sermons-wp-archive-search {
	margin-bottom: 0;
	margin-left: 0;
	flex: 0 1 22rem;
	min-width: 0;
	max-width: 100%;
}

.sermons-wp-archive-search-row .sermons-wp-pastor-sermons-search {
	margin-bottom: 0;
}

.sermons-wp-archive-search-row .sermons-wp-archive-search-form {
	max-width: 100%;
}

.sermons-wp-archive-search-row .sermons-wp-list-mode-wrap {
	margin-bottom: 0;
	flex: 0 1 auto;
	min-width: 0;
	max-width: min(100%, 28rem);
	text-align: left;
}

.sermons-wp-archive-search-row .sermons-wp-search-filter-bar {
	margin-bottom: 0;
	margin-left: 0;
	flex: 0 1 min(100%, 42rem);
	min-width: 0;
	max-width: 100%;
}

/* List-mode link (“Browse sermons by…”) sits below the grey panel, not inside it.
   Use a vertical stack so the hub’s Scripture link and “View all pastors” are not
   on one awkward row (flex-wrap was packing them inline on wide layouts). */
.sermons-wp-archive-search-row--browse-below-panel {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	align-content: flex-start;
	flex-wrap: nowrap;
	gap: var(--swp-browse-below-panel-row-gap);
	margin-top: var(--swp-browse-below-panel-margin-top);
	margin-bottom: var(--swp-browse-below-panel-margin-bottom);
	width: 100%;
}

.sermons-wp-archive-search-row--browse-below-panel .sermons-wp-list-mode-wrap {
	flex: 0 0 auto;
	max-width: 100%;
	width: 100%;
	margin-bottom: 0;
	text-align: left;
}

.sermons-wp-archive-search-row--browse-below-panel .sermons-wp-browse-hub-pastors-link {
	margin: 0;
	flex: 0 0 auto;
}

/*
 * Collapsible browse `<details>` already carries `--swp-archive-browse-outer-gap` on
 * `.sermons-wp-browse-region-details`; omit the row’s own bottom margin so we don’t
 * stack two large gaps before the sermon list.
 */
.sermons-wp-browse-region-details-body > .sermons-wp-archive-search-row.sermons-wp-archive-search-row--browse-below-panel {
	margin-bottom: 0;
}

/* Summary on the right beside search (`row-reverse`). With `row-reverse`, `flex-start` packs to the physical right; `flex-end` packs the group to the start edge (left in LTR). Stacks below when the row is narrow (`@container` ≤42rem or viewport ≤48rem). Inside the form: field (Enter), Clear when active. */
.sermons-wp-search-filter-bar {
	--swp-filter-bar-inline-gap: var(--swp-spacing-sm);
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--swp-filter-bar-inline-gap);
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
}

.sermons-wp-search-filter-bar__summary {
	margin: 0;
	flex: 0 1 auto;
	min-width: 0;
	max-width: min(100%, 36rem);
	font-size: var(--swp-font-size-meta);
	line-height: 1.45;
	color: var(--swp-meta-color);
	text-align: left;
	white-space: nowrap;
}

/* Tinted frame for list controls: year chips + book nav + search row. “Browse sermons by…” is always in the row below the box. */
.sermons-wp-scoped-list-accent-block {
	padding: var(--swp-browse-panel-padding-block) var(--swp-browse-panel-padding-inline);
	border: 1px solid var(--swp-divider-color);
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.025);
	background: color-mix(in srgb, var(--swp-accent-color) 5%, transparent);
	box-sizing: border-box;
}

.sermons-wp-scoped-list-scope-panel.sermons-wp-scoped-list-accent-block {
	margin-bottom: var(--swp-browse-panel-margin-bottom);
}

/* Wraps panel + browse row; anchor for skip link in intro shortcode */
#swp-browse-region.sermons-wp-browse-region-wrap {
	overflow: visible;
	padding-inline: 4px;
	margin-top: 0;
	scroll-margin-top: var(--swp-spacing-md);
}

.sermons-wp-browse-hub-pastors-link {
	font-size: var(--swp-font-size-meta);
}

/* Same broad `.entry-content` descendant spacing as `.page-header-back`: extra padding/margin
   under “View all pastors” stacked below list-mode link. */
.entry-content .sermons-wp-browse-hub-pastors-link {
	margin: 0 !important;
	padding: 0 !important;
}

.sermons-wp-browse-intro-callout {
	margin-bottom: var(--swp-spacing-md);
	padding: var(--swp-spacing-sm) var(--swp-spacing-md);
	border-left: 4px solid var(--swp-accent-color);
	background: color-mix(in srgb, var(--swp-accent-color) 8%, transparent);
	font-size: var(--swp-font-size-meta);
	color: var(--swp-text-color);
}

.sermons-wp-browse-intro-callout p {
	margin: 0;
}

.sermons-wp-browse-skip-tools {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sermons-wp-browse-skip-tools:hover,
.sermons-wp-browse-skip-tools:focus {
	text-decoration-thickness: 2px;
}

/* Wraps scope panel + “browse by Scripture” row when Presentation → collapsible browse is on */
.sermons-wp-browse-region-details {
	margin-top: 0;
	margin-bottom: var(--swp-archive-browse-outer-gap);
	overflow: visible;
}

.sermons-wp-browse-region-summary--visible {
	display: flex;
	align-items: center;
	gap: 0.4em;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 var(--swp-spacing-xs);
	padding: var(--swp-spacing-sm) var(--swp-spacing-md);
	list-style: none;
	font-family: inherit;
	font-weight: 500;
	font-size: var(--swp-font-size-meta);
	line-height: 1.35;
	color: var(--swp-text-color);
	border: 1px solid var(--swp-divider-color);
	border-radius: 6px;
	background: #fff;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.sermons-wp-browse-region-summary--visible::-webkit-details-marker {
	display: none;
}

.sermons-wp-browse-region-summary--visible::after {
	content: "";
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-left: auto;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-0.05em);
	transition: transform 0.2s ease;
	vertical-align: middle;
	flex-shrink: 0;
}

.sermons-wp-browse-region-details[open] > .sermons-wp-browse-region-summary--visible::after {
	transform: rotate(225deg) translateY(0.1em);
}

.sermons-wp-browse-region-summary--visible:hover {
	border-color: var(--swp-accent-color);
	background: color-mix(in srgb, var(--swp-accent-color) 6%, #fff);
}

.sermons-wp-browse-region-summary--visible:focus {
	outline: none;
}

.sermons-wp-browse-region-summary--visible:focus-visible {
	outline: 2px solid var(--swp-accent-color);
	outline-offset: 3px;
}

.sermons-wp-browse-region-remote-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	margin: 0 0 var(--swp-spacing-md);
	padding: var(--swp-spacing-sm) var(--swp-spacing-md);
	font-family: inherit;
	font-weight: 500;
	font-size: var(--swp-font-size-meta);
	line-height: 1.35;
	color: var(--swp-text-color);
	border: 1px solid var(--swp-divider-color);
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.sermons-wp-browse-region-remote-toggle::after {
	content: "";
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	vertical-align: middle;
}

.sermons-wp-browse-region-remote-toggle[aria-expanded="true"]::after {
	transform: rotate(225deg);
}

.sermons-wp-browse-region-remote-toggle:hover {
	border-color: var(--swp-accent-color);
	background: color-mix(in srgb, var(--swp-accent-color) 6%, #fff);
}

.sermons-wp-browse-region-remote-toggle:focus {
	outline: none;
}

.sermons-wp-browse-region-remote-toggle:focus-visible {
	outline: 2px solid var(--swp-accent-color);
	outline-offset: 2px;
}

.sermons-wp-browse-region-details-body {
	padding-top: var(--swp-spacing-xs);
}

.sermons-wp-list-filter-empty-placeholder {
	margin: 0;
	padding: var(--swp-spacing-sm) 0;
	font-size: var(--swp-font-size-meta);
	color: var(--swp-meta-color);
	font-style: italic;
}

.sermons-wp-scoped-list-scope-panel .sermons-wp-year-filter {
	margin-bottom: var(--swp-spacing-md);
}

.sermons-wp-scoped-list-scope-panel .sermons-wp-scripture-book-nav {
	margin-bottom: var(--swp-spacing-md);
}

.sermons-wp-scoped-list-scope-panel .sermons-wp-archive-search-row {
	margin-bottom: 0;
}

/* Under `.entry-content`, many themes add margin on `div` / `form` descendants with higher specificity than the rules above. Lock panel internals so hub and per-pastor views share the same vertical rhythm. */
.entry-content .sermons-wp-scoped-list-scope-panel.sermons-wp-scoped-list-accent-block .sermons-wp-year-filter {
	margin: 0 0 var(--swp-spacing-md) 0 !important;
}

.entry-content .sermons-wp-scoped-list-scope-panel.sermons-wp-scoped-list-accent-block .sermons-wp-archive-search-row {
	margin: 0 !important;
}

.entry-content .sermons-wp-scoped-list-scope-panel.sermons-wp-scoped-list-accent-block .sermons-wp-archive-search {
	margin: 0 !important;
}

.entry-content .sermons-wp-scoped-list-scope-panel.sermons-wp-scoped-list-accent-block .sermons-wp-archive-search-form {
	margin: 0 !important;
}

.sermons-wp-scoped-list-scope-panel .sermons-wp-scripture-book-nav.sermons-wp-scripture-book-nav--horizontal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.35rem;
}

.sermons-wp-search-clear-query {
	flex: 0 0 auto;
	display: inline-block;
	padding: var(--swp-spacing-xs) var(--swp-spacing-md);
	font-size: var(--swp-font-size-meta);
	line-height: 1.3;
	border: 1px solid var(--swp-divider-color);
	border-radius: 3px;
	background: transparent;
	color: var(--swp-text-color);
	text-decoration: none;
	white-space: nowrap;
}

/* Stronger contrast on the tinted box (Clear in the filter bar next to the field); tighter horizontal padding than generic Clear links. */
.sermons-wp-scoped-list-accent-block .sermons-wp-search-clear-query {
	padding-inline: var(--swp-spacing-sm);
	border-color: var(--swp-accent-color);
	background: #fff;
	color: var(--swp-accent-color);
	font-weight: 600;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.sermons-wp-scoped-list-accent-block .sermons-wp-search-clear-query:hover,
.sermons-wp-scoped-list-accent-block .sermons-wp-search-clear-query:focus {
	background: color-mix(in srgb, var(--swp-accent-color) 12%, #fff);
	color: var(--swp-accent-color);
	border-color: var(--swp-accent-color);
	text-decoration: none;
}

.sermons-wp-search-clear-query:hover,
.sermons-wp-search-clear-query:focus {
	border-color: var(--swp-accent-color);
	color: var(--swp-accent-color);
	text-decoration: none;
}

.sermons-wp-search-clear-query:focus-visible {
	outline: 2px solid var(--swp-accent-color);
	outline-offset: 2px;
}

.sermons-wp-search-filter-bar .sermons-wp-archive-search {
	margin-bottom: 0;
	margin-left: 0;
	flex: 0 1 22rem;
	min-width: 0;
	max-width: 100%;
}

.sermons-wp-search-filter-bar .sermons-wp-pastor-sermons-search {
	margin-bottom: 0;
}

.sermons-wp-search-filter-bar .sermons-wp-archive-search-form {
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--swp-filter-bar-inline-gap);
}

.sermons-wp-search-filter-bar .sermons-wp-archive-search-input {
	flex: 1 1 8rem;
	min-width: 6rem;
}

.sermons-wp-search-filter-bar .sermons-wp-search-clear-query {
	flex: 0 0 auto;
}

/* Summary below search when the row is too narrow (sidebar layouts, small panes) */
@container swp-archive-search-row (max-width: 42rem) {
	.sermons-wp-search-filter-bar {
		flex-direction: column-reverse;
		align-items: stretch;
		justify-content: flex-start;
	}

	.sermons-wp-search-filter-bar__summary {
		max-width: 100%;
		text-align: left;
		white-space: normal;
	}

	.sermons-wp-search-filter-bar .sermons-wp-archive-search {
		flex-basis: 100%;
		max-width: 100%;
	}
}

/* Same stacking when the viewport is narrow (fallback if container queries are unsupported) */
@media (max-width: 48rem) {
	.sermons-wp-archive-search-row .sermons-wp-search-filter-bar {
		flex-direction: column-reverse;
		align-items: stretch;
		justify-content: flex-start;
	}

	.sermons-wp-search-filter-bar__summary {
		max-width: 100%;
		text-align: left;
		white-space: normal;
	}

	.sermons-wp-search-filter-bar .sermons-wp-archive-search {
		flex-basis: 100%;
		max-width: 100%;
	}
}

@media (max-width: 36rem) {
	.sermons-wp-archive-search-row .sermons-wp-archive-search {
		flex-basis: 100%;
		margin-left: 0;
	}

	.sermons-wp-archive-search-row .sermons-wp-search-filter-bar {
		flex-basis: 100%;
		margin-left: 0;
	}

	.sermons-wp-archive-search-row .sermons-wp-list-mode-wrap {
		text-align: center;
	}

	.sermons-wp-archive-search-row--browse-below-panel .sermons-wp-list-mode-wrap {
		text-align: left;
	}

	.sermons-wp-search-filter-bar .sermons-wp-archive-search-form {
		flex-wrap: wrap;
	}
}

.sermons-wp-archive-search {
	margin-bottom: var(--swp-spacing-lg);
}

.sermons-wp-archive-search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--swp-spacing-sm);
	max-width: 36rem;
}

.sermons-wp-archive-search-input {
	flex: 1 1 12rem;
	min-width: 8rem;
	padding: var(--swp-spacing-xs) var(--swp-spacing-sm);
	font-size: var(--swp-font-size-meta);
	border: 1px solid var(--swp-divider-color);
	border-radius: 3px;
}

/* Hide WebKit/Blink built-in clear (“×”) on <input type="search">; clearing uses “Clear” in the accent block and keyboard. */
.sermons-wp-archive-search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.sermons-wp-archive-search-input::placeholder {
	color: var(--swp-meta-color);
	opacity: 0.52;
}

@supports (color: color-mix(in srgb, red, blue)) {
	.sermons-wp-archive-search-input::placeholder {
		color: color-mix(in srgb, var(--swp-meta-color) 48%, #fff);
		opacity: 1;
	}
}

.sermons-wp-pastor-sermons-search {
	margin-bottom: var(--swp-spacing-md);
}

.sermons-wp-list-search-no-results {
	margin: 0 0 var(--swp-spacing-md);
	font-size: var(--swp-font-size-empty-search);
	line-height: 1.5;
	color: var(--swp-meta-color);
}

/* Search result snippets (scoped list search) */

.sermons-wp-search-snippet {
	margin: var(--swp-spacing-xs) 0 0;
	font-size: var(--swp-font-size-meta);
	line-height: 1.45;
	color: var(--swp-meta-color);
}

.sermons-wp-search-snippet--title {
	font-style: italic;
}

.sermons-wp-sermon-list .sermons-wp-search-snippet {
	margin-top: var(--swp-spacing-sm);
}

.sermons-wp-search-hit {
	background-color: rgba(255, 235, 120, 0.45);
	padding: 0 0.1em;
	border-radius: 2px;
}

/* ── Date vs Scripture list mode ───────────────────────────────────────── */

.sermons-wp-list-mode-wrap {
	margin-bottom: var(--swp-spacing-sm);
	text-align: center;
}

.sermons-wp-list-mode {
	display: block;
	max-width: 100%;
	font-size: var(--swp-font-size-meta);
	line-height: 1.45;
}

.sermons-wp-list-mode-switch {
	color: var(--swp-accent-color);
	text-decoration: none;
}

.sermons-wp-list-mode-switch:hover,
.sermons-wp-list-mode-switch:focus {
	text-decoration: underline;
}

/* ── Sermon archive year filter ─────────────────────────────────────────── */

.sermons-wp-year-filter {
	margin-bottom: var(--swp-spacing-lg);
}

.sermons-wp-year-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	font-size: var(--swp-font-size-meta);
}

.sermons-wp-year-chip {
	display: inline-block;
	padding: calc(var(--swp-spacing-xs) / 2) var(--swp-spacing-xs);
	border: 1px solid transparent;
	border-radius: 3px;
	text-decoration: none;
	color: var(--swp-accent-color);
}

/* Keep four-digit year chips visually aligned across rows while remaining
   responsive to user font-size changes (ch + tabular numbers). */
.sermons-wp-year-chip-year {
	text-align: center;
}

a.sermons-wp-year-chip:hover,
a.sermons-wp-year-chip:focus {
	text-decoration: underline;
}

.sermons-wp-year-chip-current {
	font-weight: 600;
	border-color: var(--swp-accent-color);
	color: var(--swp-accent-color);
}

.sermons-wp-year-select-wrap {
	max-width: 12rem;
}

.sermons-wp-year-select {
	width: 100%;
	font-size: var(--swp-font-size-meta);
	padding: var(--swp-spacing-xs) var(--swp-spacing-sm);
}

/* ── Scripture index ───────────────────────────────────────────────────── */

.sermons-wp-scripture-index {
	margin-top: 0;
}

.sermons-wp-scripture-index.sermons-wp-scripture-layout-sidebar {
	margin-top: var(--swp-spacing-sm);
}

.sermons-wp-scripture-book-nav {
	margin-bottom: var(--swp-spacing-lg);
	font-size: var(--swp-font-size-meta);
	line-height: 1.6;
}

.sermons-wp-scripture-book-nav--horizontal a.sermons-wp-scripture-book-link {
	margin-right: 0.35rem;
	white-space: nowrap;
}

.sermons-wp-scripture-book-link.is-disabled {
	color: var(--swp-meta-color);
	cursor: default;
	text-decoration: none;
}

/* OT start, Psalms (wisdom), NT start — scan the long book list.
   Tinted with the accent color so the cue survives even when the active
   theme only loads weight-400 of its display face (e.g. Pilgrim's Genesis
   "minimum" theme imports Playfair Display 400 only). */
.sermons-wp-scripture-book-link--milestone {
	font-weight: 700;
	font-size: 1.1em;
	color: var(--swp-accent-color);
}

.sermons-wp-scripture-book-option--milestone {
	font-weight: 700;
	color: var(--swp-accent-color);
}

.sermons-wp-scripture-book-nav-sep {
	margin: 0 0.25rem;
	color: var(--swp-meta-color);
	user-select: none;
}

.sermons-wp-scripture-nav-other {
	font-weight: 500;
}

.sermons-wp-scripture-book-option--other {
	font-style: italic;
}

.sermons-wp-scripture-book-section--unparsed {
	margin-top: var(--swp-spacing-xl);
	padding-top: var(--swp-spacing-md);
	border-top: 1px solid var(--swp-divider-color);
}

.sermons-wp-scripture-unparsed-note {
	margin: 0 0 var(--swp-spacing-sm);
}

.sermons-wp-scripture-book-select {
	max-width: min(100%, 22rem);
	font-size: var(--swp-font-size-meta);
	padding: var(--swp-spacing-xs) var(--swp-spacing-sm);
}

.sermons-wp-scripture-layout-sidebar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--swp-spacing-lg);
}

.sermons-wp-scripture-layout-sidebar .sermons-wp-scripture-book-nav--sidebar {
	flex: 0 0 12rem;
	max-width: 100%;
}

.sermons-wp-scripture-layout-sidebar .sermons-wp-scripture-book-section {
	flex: 1 1 18rem;
	min-width: 0;
}

.sermons-wp-scripture-book-heading {
	margin: var(--swp-spacing-lg) 0 var(--swp-spacing-sm);
	font-size: 1.35rem;
	border-bottom: 1px solid var(--swp-divider-color);
	padding-bottom: 0.25rem;
}

/* First book section follows the browse region; avoid stacking lg + below-panel margin. */
.sermons-wp-browse-region-wrap + .sermons-wp-scripture-book-section .sermons-wp-scripture-book-heading {
	margin-top: var(--swp-spacing-sm);
}

/* Milestone headings (Genesis, Psalms, Matthew) need to read distinct on
   any theme, including ones that only load weight-400 of a display face
   (so synthesized bold is barely visible). Use size, letter-spacing, and
   the accent color/border for a cue that does not depend on bold weight. */
.sermons-wp-scripture-book-heading--milestone {
	font-weight: 700;
	font-size: 1.85rem;
	letter-spacing: 0.02em;
	color: var(--swp-accent-color);
	border-bottom: 2px solid var(--swp-accent-color);
	padding-bottom: 0.35rem;
}

.sermons-wp-scripture-book-section--empty .sermons-wp-scripture-empty-book {
	margin: 0 0 var(--swp-spacing-md);
	color: var(--swp-meta-color);
	font-size: var(--swp-font-size-meta);
}

.sermons-wp-scripture-table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: var(--swp-font-size-meta);
}

/* SERMONS-114: no per-row divider on the scripture index — the only
   horizontal rule that adds value is the one painted under each book
   heading (`.sermons-wp-scripture-book-heading[--milestone]`), which
   actually separates one book of the Bible from the next. A faint line
   under every reference row crowded the page and read as a grid even
   though most cells contain a single sermon. Whitespace from the cell
   padding alone separates rows. Mirrors the rationale on
   `.sermons-wp-sermon-list li` (SERMONS-107, SERMONS-118). */
.sermons-wp-scripture-table td {
	vertical-align: top;
	padding: 0.35rem 0.5rem 0.35rem 0;
}

/* --swp-scripture-ref-ch: longest ref on page (PHP). Aligns title columns across book sections. */
.sermons-wp-scripture-ref {
	width: min(calc(var(--swp-scripture-ref-ch, 12) * 1ch), min(40vw, 22rem));
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 500;
	padding-right: 0.35rem;
}

.sermons-wp-scripture-title,
.sermons-wp-scripture-titles {
	min-width: 0;
}

.sermons-wp-scripture-title a,
.sermons-wp-scripture-titles a {
	text-decoration: none;
	color: var(--swp-accent-color);
}

/* Collapsed duplicate refs: stack titles without list bullets (cleaner scan). */
.sermons-wp-scripture-collapsed-list {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sermons-wp-scripture-collapsed-list li {
	margin: 0;
}

/* SERMONS-114: kill theme-default bullets on collapsed-list rows. The
   parent `<ul>` sets `list-style: none` already, but classic themes like
   Genesis Minimum target `.entry-content ul li` directly with
   `list-style-type: square`/`disc` (specificity (0,1,2)), which beats
   our `<ul>`-only rule on the `<li>`. We chain `ul.sermons-wp-scripture-collapsed-list`
   so our reset reaches the `<li>` at (0,2,2). Mirrors the SERMONS-102
   fix on the date-list partial (`.sermons-wp-sermon-list li`). */
.entry-content ul.sermons-wp-scripture-collapsed-list li,
ul.sermons-wp-scripture-collapsed-list li {
	list-style: none;
	list-style-type: none;
	margin-left: 0;
}

.sermons-wp-scripture-collapsed-snippet {
	margin-top: 0.25rem;
}

.sermons-wp-scripture-snippet-row td {
	padding-top: 0;
	padding-bottom: 0.5rem;
}

.sermons-wp-scripture-snippet-row .sermons-wp-search-snippet {
	margin-top: 0;
}

.sermons-wp-scripture-collapsed-snippet .sermons-wp-search-snippet {
	margin-top: 0;
}

/* Per-page control + pagination (unfiltered lists) */

.sermons-wp-pagination-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--swp-spacing-md);
	margin-top: var(--swp-spacing-lg);
}

.sermons-wp-pagination-wrap .sermons-wp-pagination {
	margin-top: 0;
}

.sermons-wp-index-per-page {
	display: flex;
	align-items: center;
	gap: var(--swp-spacing-xs);
	font-size: var(--swp-font-size-meta);
}

.sermons-wp-index-per-page-label {
	white-space: nowrap;
}

.sermons-wp-per-page-chip {
	display: inline-block;
	padding: var(--swp-spacing-xs) var(--swp-spacing-sm);
	border: 1px solid var(--swp-divider-color);
	border-radius: 3px;
	text-decoration: none;
	color: var(--swp-accent-color);
	font-size: var(--swp-font-size-meta);
}

a.sermons-wp-per-page-chip:hover,
a.sermons-wp-per-page-chip:focus {
	text-decoration: underline;
}

.sermons-wp-per-page-chip-current {
	font-weight: 600;
	border-color: var(--swp-accent-color);
	color: var(--swp-accent-color);
}

/* ── Pagination ────────────────────────────────────────────────────────── */

.sermons-wp-pagination {
	margin-top: var(--swp-spacing-lg);
}

.sermons-wp-pagination .page-numbers {
	display: inline-block;
	padding: var(--swp-spacing-xs) var(--swp-spacing-sm);
	margin: 0 2px;
	border: 1px solid var(--swp-divider-color);
	text-decoration: none;
	color: var(--swp-accent-color);
}

.sermons-wp-pagination .page-numbers.current {
	background: var(--swp-accent-color);
	color: #fff;
	border-color: var(--swp-accent-color);
}
