/*
Theme Name: Seminarian Living
Theme URI: https://seminarian.living/
Author: Joshua Davis / Davis Web Design
Description: Editorial theological library theme for Seminarian.Living. Parchment, ink, Gothic architecture, classical restraint, and contextual motion.
Version: 0.4.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: seminarian-living
*/

:root {
  --sl-paper: #f5efe2;
  --sl-paper-deep: #e7dcc6;
  --sl-paper-light: #faf6ed;
  --sl-ink: #211b16;
  --sl-ink-soft: #655b4e;
  --sl-walnut: #3d2b20;
  --sl-oak: #261b15;
  --sl-leather: #6b402c;
  --sl-oxblood: #733b32;
  --sl-gold: #9b8557;
  --sl-rule: #b8aa90;
  --sl-rule-soft: rgba(70, 52, 38, .18);
  --sl-shadow: 0 24px 48px rgba(46, 31, 20, .14);
  --sl-serif-display: "IM FELL English", Georgia, serif;
  --sl-serif-heading: "Cinzel", "Times New Roman", serif;
  --sl-serif: "EB Garamond", Garamond, Georgia, serif;
  --sl-content: 76rem;
  --sl-reading: 44rem;
  --sl-transition: 520ms cubic-bezier(.22,.61,.36,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--sl-oak); }
body {
  margin: 0;
  color: var(--sl-ink);
  background-color: var(--sl-paper);
  background-image:
    radial-gradient(circle at 15% 15%, rgba(255,255,255,.38), transparent 27%),
    radial-gradient(circle at 84% 52%, rgba(112,76,44,.055), transparent 34%),
    repeating-linear-gradient(92deg, rgba(73,52,36,.018) 0, rgba(73,52,36,.018) 1px, transparent 1px, transparent 4px);
  font-family: var(--sl-serif);
  font-size: 1.15rem;
  line-height: 1.66;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  mix-blend-mode: multiply;
  background: repeating-linear-gradient(0deg, transparent 0 6px, rgba(45,31,21,.025) 7px);
  z-index: 9999;
}
::selection { background: var(--sl-oxblood); color: var(--sl-paper-light); }
a { color: var(--sl-oxblood); text-decoration-thickness: .06em; text-underline-offset: .16em; }
a:hover { color: var(--sl-leather); }
img { max-width: 100%; height: auto; }

h1,h2,h3,h4,h5,h6 {
  color: var(--sl-ink);
  font-family: var(--sl-serif-display);
  font-weight: 400;
  line-height: 1.02;
  text-wrap: balance;
  margin: 0 0 .65em;
}
h1 { font-size: clamp(3.4rem, 8vw, 7.4rem); letter-spacing: -.035em; }
h2 { font-size: clamp(2.3rem, 5vw, 4.5rem); letter-spacing: -.025em; }
h3 { font-size: clamp(1.65rem, 3vw, 2.6rem); }

/* Page-title typography: classical/architectural rather than manuscript-like. */
.sl-page-header h1,
.sl-document-header h1,
.sl-book-title,
.post-type-archive-sl_book .sl-page-header h1,
.post-type-archive-sl_document .sl-page-header h1,
.post-type-archive-sl_resource .sl-page-header h1 {
  font-family: var(--sl-serif-heading);
  font-weight: 500;
  letter-spacing: .015em;
  line-height: .98;
}
p { margin: 0 0 1.3em; }
blockquote {
  margin: 3.5rem auto;
  max-width: 55rem;
  padding: 2.6rem 0;
  border-block: 1px solid var(--sl-rule);
  font-family: var(--sl-serif-display);
  font-size: clamp(1.75rem, 4vw, 3.4rem);
  line-height: 1.12;
  text-align: center;
}
small, .sl-kicker, .sl-meta, .sl-eyebrow {
  font-size: .76rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-variant-caps: all-small-caps;
}

.sl-shell { width: min(calc(100% - 2rem), var(--sl-content)); margin-inline: auto; }
.sl-reading-width { width: min(calc(100% - 2rem), var(--sl-reading)); margin-inline: auto; }
.sl-main { min-height: 60vh; }

/* Masthead */
.sl-site-header {
  position: relative;
  z-index: 20;
  background: rgba(245,239,226,.94);
  border-bottom: 1px solid var(--sl-rule-soft);
  backdrop-filter: blur(10px);
}
.sl-masthead { padding: 1.4rem 0 .8rem; text-align: center; }
.sl-site-title {
  display: inline-block;
  color: var(--sl-ink);
  font-family: var(--sl-serif-display);
  font-size: clamp(1.8rem, 4vw, 3.05rem);
  line-height: 1;
  text-decoration: none;
  letter-spacing: -.02em;
}
.sl-site-description { margin: .35rem 0 0; color: var(--sl-ink-soft); font-size: .95rem; }
.sl-nav-wrap { border-top: 1px solid var(--sl-rule-soft); }
.sl-nav { display: flex; align-items: center; justify-content: center; min-height: 3.1rem; }
.sl-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem 1.55rem; list-style: none; margin: 0; padding: .7rem 0; }
.sl-nav a { color: var(--sl-ink); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.sl-nav a::after { content:""; display:block; height:1px; background:var(--sl-oxblood); transform:scaleX(0); transform-origin:center; transition:transform 280ms ease; }
.sl-nav a:hover::after, .sl-nav .current-menu-item>a::after { transform:scaleX(1); }
.sl-menu-toggle { display:none; appearance:none; border:0; background:none; font:inherit; padding:.7rem; color:var(--sl-ink); }

/* Gutenberg/editor driven homepage */
.sl-front-page .entry-content > * { margin-block: 0; }
.sl-front-page .wp-block-group { position: relative; }
.sl-hero {
  min-height: min(82svh, 54rem);
  display: grid;
  place-items: center;
  padding: clamp(5rem, 12vw, 10rem) 1rem;
  text-align: center;
  overflow: clip;
  border-bottom: 1px solid var(--sl-rule-soft);
}
.sl-hero::before {
  content:"";
  position:absolute;
  width:min(56vw, 34rem);
  aspect-ratio: .72;
  border:1px solid rgba(115,59,50,.22);
  border-radius: 50% 50% 0 0 / 27% 27% 0 0;
  bottom:-26%;
  left:50%;
  transform:translateX(-50%);
  box-shadow: inset 0 0 0 14px rgba(155,133,87,.025), inset 0 0 0 15px rgba(115,59,50,.08);
}
.sl-hero > * { position:relative; z-index:1; max-width: 65rem; }
.sl-hero h1, .sl-hero h2 { margin-bottom:.25em; }
.sl-hero p { color:var(--sl-ink-soft); font-size:clamp(1.15rem, 2vw, 1.5rem); max-width:42rem; margin-inline:auto; }
.sl-hero .wp-block-buttons { justify-content:center; }

.sl-section { padding: clamp(5rem, 9vw, 9rem) 0; border-bottom:1px solid var(--sl-rule-soft); }
.sl-section > * { width:min(calc(100% - 2rem), var(--sl-content)); margin-inline:auto; }
.sl-section > h2 { margin-bottom: clamp(2rem,5vw,4rem); }
.sl-section-title-row { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }
.sl-section-title-row::after { content:""; height:1px; background:var(--sl-rule); flex:1; margin-bottom:.55rem; }

.wp-block-button__link, .sl-button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:2.8rem; padding:.65rem 1.2rem;
  border:1px solid var(--sl-ink);
  border-radius:1px;
  background:var(--sl-ink); color:var(--sl-paper-light);
  font-family:var(--sl-serif); font-size:.8rem; letter-spacing:.09em; text-transform:uppercase; text-decoration:none;
  transition:background 220ms ease, color 220ms ease, transform 220ms ease;
}
.wp-block-button__link:hover, .sl-button:hover { background:transparent; color:var(--sl-ink); transform:translateY(-1px); }

/* Page/article */
.sl-page-header {
  position:relative;
  padding: clamp(5.5rem,10vw,9rem) 0 clamp(2.8rem,5vw,4.3rem);
  border-bottom:1px solid var(--sl-rule-soft);
  overflow:clip;
}
.sl-page-header::after {
  content:"";
  position:absolute; left:50%; bottom:-7rem;
  width:min(38rem,70vw); aspect-ratio:1.8;
  border:1px solid rgba(115,59,50,.10);
  border-radius:50% 50% 0 0 / 75% 75% 0 0;
  transform:translateX(-50%);
  pointer-events:none;
}
.sl-page-header .sl-shell { position:relative; z-index:1; }
.sl-page-header .sl-kicker { color:var(--sl-oxblood); margin-bottom:1rem; }
.sl-page-header h1 { max-width:13ch; margin-bottom:0; }
.sl-page-content, .sl-article-content { padding: clamp(3.5rem,7vw,7rem) 0; }
.sl-article-content { width:min(calc(100% - 2rem), var(--sl-reading)); margin-inline:auto; }
.sl-article-content > p:first-of-type::first-letter {
  float:left; font-family:var(--sl-serif-display); font-size:4.8rem; line-height:.72; padding:.12em .1em 0 0; color:var(--sl-oxblood);
}
.sl-article-content h2 { margin-top:2.2em; }
.sl-article-content h3 { margin-top:1.8em; }
.sl-article-content hr { border:0; height:1px; background:var(--sl-rule); margin:3rem 0; }

/* Works: authored articles and sermons share one editorial home. */
.sl-page-my-works .sl-page-content,
.sl-page-works .sl-page-content { width:min(calc(100% - 2rem), 60rem); }
.sl-page-my-works .sl-page-content > h2,
.sl-page-works .sl-page-content > h2 {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.25rem;
  align-items:center;
  margin:clamp(3.6rem,7vw,6rem) 0 1.35rem;
  font-size:clamp(2rem,4vw,3.35rem);
}
.sl-page-my-works .sl-page-content > h2:first-child,
.sl-page-works .sl-page-content > h2:first-child { margin-top:0; }
.sl-page-my-works .sl-page-content > h2::after,
.sl-page-works .sl-page-content > h2::after {
  content:""; height:1px; background:var(--sl-rule);
  transform:scaleX(0); transform-origin:left;
  animation:sl-works-rule 850ms 180ms cubic-bezier(.22,.61,.36,1) forwards;
}
@keyframes sl-works-rule { to { transform:scaleX(1); } }
.sl-page-my-works .sl-page-content > ul,
.sl-page-works .sl-page-content > ul {
  list-style:none; margin:0; padding:0; border-top:1px solid var(--sl-rule-soft);
}
.sl-page-my-works .sl-page-content > ul > li,
.sl-page-works .sl-page-content > ul > li {
  position:relative; margin:0; padding:1.35rem 2.5rem 1.35rem 0;
  border-bottom:1px solid var(--sl-rule-soft);
  color:var(--sl-ink-soft);
  line-height:1.35;
  transition:padding-left 320ms cubic-bezier(.22,.61,.36,1), color 220ms ease;
}
.sl-page-my-works .sl-page-content > ul > li::after,
.sl-page-works .sl-page-content > ul > li::after {
  content:"↗"; position:absolute; right:.2rem; top:1.45rem;
  color:var(--sl-gold); opacity:.6; transform:translate(-3px,3px);
  transition:transform 300ms cubic-bezier(.22,.61,.36,1), opacity 220ms ease;
}
.sl-page-my-works .sl-page-content > ul > li:hover,
.sl-page-works .sl-page-content > ul > li:hover { padding-left:.45rem; color:var(--sl-ink); }
.sl-page-my-works .sl-page-content > ul > li:hover::after,
.sl-page-works .sl-page-content > ul > li:hover::after { opacity:1; transform:none; }
.sl-page-my-works .sl-page-content > ul > li > a,
.sl-page-works .sl-page-content > ul > li > a {
  display:inline-block; margin-bottom:.28rem;
  color:var(--sl-ink); text-decoration:none;
  font-family:var(--sl-serif-display); font-size:clamp(1.45rem,2.6vw,2.05rem); line-height:1.04;
}
.sl-page-my-works .sl-page-content > ul > li > a::after,
.sl-page-works .sl-page-content > ul > li > a::after {
  content:""; display:block; width:100%; height:1px; margin-top:.2rem;
  background:var(--sl-oxblood); transform:scaleX(0); transform-origin:left;
  transition:transform 300ms ease;
}
.sl-page-my-works .sl-page-content > ul > li:hover > a::after,
.sl-page-works .sl-page-content > ul > li:hover > a::after { transform:scaleX(1); }

/* Library */
.sl-library-toolbar { display:flex; flex-wrap:wrap; gap:1rem; align-items:end; margin:2rem 0 3.5rem; padding-block:1rem; border-block:1px solid var(--sl-rule); }
.sl-field label { display:block; margin-bottom:.25rem; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.sl-field select, .sl-field input {
  min-height:2.55rem; padding:.45rem .7rem; border:1px solid var(--sl-rule); border-radius:0; background:rgba(255,255,255,.25); color:var(--sl-ink); font:inherit;
}
.sl-book-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:clamp(2rem,4vw,4.25rem) clamp(1.5rem,3vw,3.2rem); align-items:start; }
.sl-book-card { --tilt:0deg; position:relative; }
.sl-book-card:nth-child(4n+1){--tilt:-.35deg}.sl-book-card:nth-child(4n+2){--tilt:.2deg}.sl-book-card:nth-child(4n+3){--tilt:-.12deg}.sl-book-card:nth-child(4n){--tilt:.3deg}
.sl-book-cover {
  display:block; position:relative; aspect-ratio:2/3; overflow:hidden;
  background:linear-gradient(135deg,var(--sl-leather),var(--sl-walnut));
  box-shadow: 0 18px 28px rgba(49,32,20,.17), inset 7px 0 0 rgba(0,0,0,.09), inset 9px 0 0 rgba(255,255,255,.04);
  transform:translateY(0) rotate(var(--tilt)); transform-origin:50% 100%;
  transition:transform var(--sl-transition), box-shadow var(--sl-transition);
}
.sl-book-cover::after { content:""; position:absolute; inset:0; box-shadow:inset -1px 0 rgba(255,255,255,.22); pointer-events:none; }
.sl-book-cover img { width:100%; height:100%; object-fit:cover; }
.sl-book-placeholder { display:grid; place-items:center; width:100%; height:100%; padding:1.25rem; color:var(--sl-paper-light); text-align:center; font-family:var(--sl-serif-display); font-size:1.35rem; line-height:1.05; }
.sl-book-card:hover .sl-book-cover { transform:translateY(-9px) rotate(0deg); box-shadow:0 27px 38px rgba(49,32,20,.22); }
.sl-book-card h3 { font-size:1.38rem; margin:.95rem 0 .15rem; }
.sl-book-card h3 a { color:var(--sl-ink); text-decoration:none; }
.sl-book-author { color:var(--sl-ink-soft); margin:0 0 .65rem; font-size:.98rem; }
.sl-progress-row { display:flex; gap:.65rem; align-items:center; font-size:.78rem; letter-spacing:.04em; color:var(--sl-ink-soft); }
.sl-progress-track { flex:1; height:2px; background:rgba(61,43,32,.18); overflow:hidden; }
.sl-progress-fill { width:var(--sl-progress,0%); height:100%; background:var(--sl-oxblood); transform:scaleX(0); transform-origin:left; transition:transform 1.2s cubic-bezier(.22,.61,.36,1); }
.is-visible .sl-progress-fill, .sl-progress-fill.is-visible { transform:scaleX(1); }
.sl-status-stamp { display:inline-block; margin-top:.75rem; padding:.18rem .45rem .12rem; border:1px solid currentColor; color:var(--sl-oxblood); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; transform:rotate(-1deg); }

.sl-book-single { padding:clamp(4rem,8vw,8rem) 0; }
.sl-book-hero { display:grid; grid-template-columns:minmax(220px,330px) minmax(0,1fr); gap:clamp(2.5rem,7vw,7rem); align-items:center; }
.sl-book-single .sl-book-cover { max-width:330px; }
.sl-book-title { font-size:clamp(3.1rem,7vw,6.8rem); }
.sl-book-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem 2rem; padding:1.5rem 0; margin:1.5rem 0; border-block:1px solid var(--sl-rule); }
.sl-book-detail dt { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--sl-ink-soft); }
.sl-book-detail dd { margin:.15rem 0 0; }
.sl-stars { letter-spacing:.08em; color:var(--sl-oxblood); font-size:1.15rem; }

/* Archive/document/resource lists */
.sl-catalog-list { border-top:1px solid var(--sl-rule); }
.sl-catalog-row { display:grid; grid-template-columns:minmax(9rem,.75fr) minmax(0,2fr) minmax(7rem,.65fr); gap:1rem; align-items:baseline; padding:1rem 0; border-bottom:1px solid var(--sl-rule-soft); }
.sl-catalog-row a { color:var(--sl-ink); text-decoration:none; }
.sl-catalog-row:hover a { color:var(--sl-oxblood); }
.sl-catalog-muted { color:var(--sl-ink-soft); font-size:.92rem; }

/* Documents */
.sl-document-header { text-align:center; padding:clamp(5rem,10vw,9rem) 1rem 4rem; }
.sl-document-header::after { content:"✦"; display:block; color:var(--sl-gold); margin:2rem auto 0; font-size:.8rem; }
.sl-document-date { color:var(--sl-oxblood); }
.sl-document-content { width:min(calc(100% - 2rem), 47rem); margin:0 auto; padding:1rem 0 7rem; }
.sl-document-content p { font-size:1.22rem; }

/* Articles & Newsletter */
.sl-newsletter-list, .sl-article-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,3vw,3rem); }
.sl-newsletter-item, .sl-article-item { position:relative; padding:1.1rem 0 0; border-top:1px solid var(--sl-rule); }
.sl-newsletter-item::before, .sl-article-item::before { content:""; position:absolute; top:-1px; left:0; width:0; height:1px; background:var(--sl-oxblood); transition:width .65s cubic-bezier(.22,.61,.36,1); }
.sl-newsletter-item:hover::before, .sl-article-item:hover::before { width:42%; }
.sl-newsletter-item h3, .sl-article-item h3 { font-size:clamp(1.5rem,3vw,2.25rem); margin:.25rem 0 .55rem; }
.sl-newsletter-item h3 a, .sl-article-item h3 a { color:var(--sl-ink); text-decoration:none; }
.sl-newsletter-item h3 a:hover, .sl-article-item h3 a:hover { color:var(--sl-oxblood); }
.sl-newsletter-item .sl-meta, .sl-article-item .sl-meta { color:var(--sl-ink-soft); }
.sl-newsletter-single .sl-page-header { min-height:min(70vh,48rem); display:grid; align-items:end; }
.sl-catalog-row h3 small { display:block; margin-top:.28rem; font-family:var(--sl-body); font-size:.92rem; font-weight:400; color:var(--sl-ink-soft); line-height:1.35; }
.sl-empty-note { color:var(--sl-ink-soft); font-style:italic; }

/* Contextual motion */
.sl-reveal { opacity:0; transform:translateY(18px); transition:opacity 720ms ease, transform 850ms cubic-bezier(.22,.61,.36,1); }
.sl-reveal[data-reveal="left"] { transform:translateX(-22px); }
.sl-reveal[data-reveal="right"] { transform:translateX(22px); }
.sl-reveal.is-visible { opacity:1; transform:none; }
.sl-rule-draw { position:relative; }
.sl-rule-draw::after { content:""; display:block; height:1px; background:var(--sl-rule); transform:scaleX(0); transform-origin:center; transition:transform 1.1s ease; }
.sl-rule-draw.is-visible::after { transform:scaleX(1); }
.sl-arch-media { position:relative; overflow:hidden; border-radius:50% 50% 0 0 / 22% 22% 0 0; }
.sl-arch-media img { transform:scale(1.06); transition:transform 1.5s cubic-bezier(.22,.61,.36,1); }
.sl-arch-media.is-visible img { transform:scale(1); }
.sl-parallax-slow { will-change:transform; }

/* Footer */
.sl-site-footer {
  color:#e9dfcf; background-color:var(--sl-oak);
  background-image:linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px), linear-gradient(rgba(255,255,255,.01) 1px,transparent 1px);
  background-size:8px 8px;
  padding:4rem 0 2rem;
}
.sl-footer-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:3rem; }
.sl-site-footer a { color:#f2e9da; }
.sl-site-footer .sl-site-title { color:#f2e9da; }
.sl-footer-bottom { margin-top:3rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.15); font-size:.85rem; color:#baab98; }

/* Search/404 */
.sl-search-form { display:flex; gap:.5rem; max-width:36rem; }
.sl-search-form input[type=search] { flex:1; min-width:0; border:1px solid var(--sl-rule); background:rgba(255,255,255,.25); padding:.7rem; font:inherit; }

@supports (view-transition-name: auto) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: sl-page-out 180ms ease both; }
  ::view-transition-new(root) { animation: sl-page-in 360ms ease both; }
  @keyframes sl-page-out { to { opacity:0; transform:translateY(-4px); } }
  @keyframes sl-page-in { from { opacity:0; transform:translateY(7px); } }
}

@media (max-width: 760px) {
  body { font-size:1.08rem; }
  .sl-masthead { text-align:left; display:flex; justify-content:space-between; align-items:center; }
  .sl-menu-toggle { display:block; }
  .sl-nav-wrap { display:none; }
  .sl-nav-wrap.is-open { display:block; }
  .sl-nav { justify-content:flex-start; }
  .sl-nav ul { flex-direction:column; width:100%; align-items:flex-start; padding:1rem 0 1.4rem; }
  .sl-hero { min-height:70svh; text-align:left; place-items:center start; }
  .sl-hero p { margin-inline:0; }
  .sl-hero .wp-block-buttons { justify-content:flex-start; }
  .sl-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.7rem 1rem; }
  .sl-book-hero { grid-template-columns:1fr; }
  .sl-book-single .sl-book-cover { max-width:260px; }
  .sl-book-details { grid-template-columns:1fr; }
  .sl-catalog-row { grid-template-columns:1fr; gap:.2rem; padding:1.2rem 0; }
  .sl-newsletter-list, .sl-article-list { grid-template-columns:1fr; }
  .sl-footer-grid { grid-template-columns:1fr; }
  .sl-hero::before { width:80vw; bottom:-16%; }
  .sl-page-header h1 { max-width:none; font-size:clamp(2.7rem,13vw,4.5rem); }
  .sl-page-my-works .sl-page-content > h2,
.sl-page-works .sl-page-content > h2 { grid-template-columns:1fr; gap:.65rem; }
  .sl-page-my-works .sl-page-content > ul > li,
.sl-page-works .sl-page-content > ul > li { padding-right:2rem; }
}

@media (max-width: 430px) {
  .sl-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sl-book-card h3 { font-size:1.15rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .sl-reveal { opacity:1; transform:none; }
  .sl-progress-fill { transform:scaleX(1); }
}


/* Catalog-scale library refinements */
.sl-archive-count { margin:1.25rem 0 0; color:var(--sl-ink-soft); font-style:italic; }
.sl-field-search { flex:1 1 15rem; }
.sl-field-search input { width:100%; min-width:14rem; }
.sl-clear-filter { align-self:center; padding:.65rem .25rem; font-size:.86rem; }
.sl-book-placeholder { grid-template-rows:1fr auto auto; gap:.65rem; align-items:center; }
.sl-book-placeholder-title { align-self:end; }
.sl-book-placeholder-volume, .sl-book-placeholder-author { display:block; font-family:var(--sl-serif); font-size:.72rem; line-height:1.15; letter-spacing:.06em; opacity:.82; }
.sl-book-placeholder-author { align-self:start; font-style:italic; letter-spacing:0; }
.sl-book-volume { margin:.1rem 0 .15rem; color:var(--sl-oxblood); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.sl-book-subtitle, .sl-book-series { margin:.1rem 0 .45rem; color:var(--sl-ink-soft); font-size:.88rem; line-height:1.25; }
.sl-book-series { font-style:italic; }
.sl-book-single-subtitle { max-width:40rem; margin:-.25rem 0 .8rem; color:var(--sl-ink-soft); font-family:var(--sl-serif-display); font-size:clamp(1.3rem,2.4vw,2rem); line-height:1.15; }
.sl-book-single-author { font-size:1.18rem; }
.sl-book-shelf-path { margin:0 0 .85rem; font-size:.82rem; letter-spacing:.04em; }
.sl-book-shelf-path a,.sl-return-to-library a { color:var(--sl-ink-soft); text-decoration:none; }
.sl-book-shelf-path a:hover,.sl-return-to-library a:hover { color:var(--sl-oxblood); }
.sl-return-to-library { margin:3rem 0 0; padding-top:1.2rem; border-top:1px solid var(--sl-rule); }
.sl-editor-note { max-width:40rem; padding:1rem 1.1rem; border-left:3px solid var(--sl-oxblood); background:rgba(115,59,50,.06); font-size:.92rem; }

/* Sermons: YouTube playlist treated as a living preaching archive. */
.sl-sermons { margin-top:1.35rem; }
.sl-sermons-player-shell {
  position:relative;
  margin:0 0 clamp(3rem,7vw,5.5rem);
  padding:clamp(.45rem,1vw,.75rem);
  border:1px solid var(--sl-rule);
  background:rgba(255,255,255,.16);
  box-shadow:0 24px 60px rgba(49,32,20,.09);
}
.sl-sermons-player-shell::before,
.sl-sermons-player-shell::after {
  content:"";
  position:absolute;
  width:clamp(2.8rem,7vw,5rem);
  height:1px;
  top:-1px;
  background:var(--sl-oxblood);
  opacity:.75;
}
.sl-sermons-player-shell::before { left:0; }
.sl-sermons-player-shell::after { right:0; }
.sl-sermons-player { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--sl-oak); }
.sl-sermons-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.sl-sermon-index { border-top:1px solid var(--sl-rule); }
.sl-sermon-entry {
  display:grid;
  grid-template-columns:minmax(11rem,15rem) minmax(0,1fr);
  gap:clamp(1.2rem,3vw,2.5rem);
  align-items:center;
  padding:clamp(1.25rem,3vw,2rem) 0;
  border-bottom:1px solid var(--sl-rule-soft);
}
.sl-sermon-thumb { display:block; position:relative; overflow:hidden; aspect-ratio:16/9; background:var(--sl-walnut); }
.sl-sermon-thumb::after {
  content:"▶";
  position:absolute;
  left:50%; top:50%;
  width:2.7rem; height:2.7rem;
  display:grid; place-items:center;
  transform:translate(-50%,-50%) scale(.92);
  border:1px solid rgba(245,239,226,.74);
  background:rgba(33,27,22,.62);
  color:var(--sl-paper-light);
  font-size:.8rem;
  transition:transform 360ms cubic-bezier(.22,.61,.36,1), background 260ms ease;
}
.sl-sermon-thumb img {
  width:100%; height:100%; object-fit:cover;
  filter:sepia(.18) saturate(.8) contrast(.96);
  transform:scale(1.015);
  transition:transform 800ms cubic-bezier(.22,.61,.36,1), filter 500ms ease;
}
.sl-sermon-entry:hover .sl-sermon-thumb img { transform:scale(1.05); filter:sepia(0) saturate(1) contrast(1); }
.sl-sermon-entry:hover .sl-sermon-thumb::after { transform:translate(-50%,-50%) scale(1); background:rgba(33,27,22,.78); }
.sl-sermon-copy .sl-meta { margin:0 0 .45rem; color:var(--sl-ink-soft); }
.sl-sermon-copy h3 { margin:0 0 .65rem; font-size:clamp(1.55rem,3vw,2.35rem); }
.sl-sermon-copy h3 a { color:var(--sl-ink); text-decoration:none; }
.sl-sermon-copy h3 a:hover { color:var(--sl-oxblood); }
.sl-sermon-watch,
.sl-sermons-playlist-link a {
  display:inline-flex;
  gap:.45rem;
  align-items:center;
  font-size:.78rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-decoration:none;
}
.sl-sermon-watch span,
.sl-sermons-playlist-link span { transition:transform 280ms cubic-bezier(.22,.61,.36,1); }
.sl-sermon-watch:hover span,
.sl-sermons-playlist-link a:hover span { transform:translateX(.32rem); }
.sl-sermons-playlist-link { margin:1.5rem 0 0; text-align:right; }

@media (max-width:760px) {
  .sl-sermon-entry { grid-template-columns:1fr; gap:1rem; }
  .sl-sermon-thumb { max-width:none; }
  .sl-sermons-playlist-link { text-align:left; }
}

/* Physical library: rooms, directory, shelves, and pull-out records. */
[hidden] { display:none !important; }
.sl-library-experience { padding:0 0 clamp(6rem,10vw,10rem); }
.sl-library-experience > .sl-shell { width:min(calc(100% - 2rem), 88rem); }
.sl-library-console {
  position:sticky; top:0; z-index:12;
  display:grid; grid-template-columns:minmax(15rem,.8fr) minmax(20rem,1.8fr) minmax(10rem,.55fr) auto;
  gap:1rem; align-items:end;
  margin:0 -1rem clamp(4rem,8vw,7rem); padding:1rem;
  border-bottom:1px solid var(--sl-rule);
  background:rgba(245,239,226,.95);
  box-shadow:0 10px 24px rgba(46,31,20,.035);
  backdrop-filter:blur(13px);
}
.admin-bar .sl-library-console { top:32px; }
.sl-library-directory { position:relative; }
.sl-library-directory summary {
  min-height:2.55rem; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.45rem .75rem; border:1px solid var(--sl-rule); cursor:pointer;
  font-size:.76rem; letter-spacing:.11em; text-transform:uppercase; list-style:none;
}
.sl-library-directory summary::-webkit-details-marker { display:none; }
.sl-library-directory[open] summary span:last-child { transform:rotate(45deg); }
.sl-library-directory summary span:last-child { color:var(--sl-oxblood); font-size:1.25rem; transition:transform 240ms ease; }
.sl-directory-panel {
  position:absolute; top:calc(100% + .4rem); left:0; width:min(55rem,calc(100vw - 2rem)); max-height:min(70vh,44rem); overflow:auto;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem;
  padding:1.35rem; border:1px solid var(--sl-rule); background:var(--sl-paper-light); box-shadow:var(--sl-shadow);
}
.sl-directory-room > a { display:block; margin-bottom:.65rem; color:var(--sl-ink); font-family:var(--sl-serif-display); font-size:1.35rem; text-decoration:none; }
.sl-directory-panel ul { margin:0; padding:0; list-style:none; }
.sl-directory-panel ul ul { margin:.2rem 0 .7rem; padding-left:.75rem; border-left:1px solid var(--sl-rule-soft); }
.sl-directory-panel li > span { color:var(--sl-ink-soft); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; }
.sl-directory-panel li a { display:flex; justify-content:space-between; gap:.8rem; padding:.14rem 0; color:var(--sl-ink); font-size:.88rem; line-height:1.2; text-decoration:none; }
.sl-directory-panel li a:hover { color:var(--sl-oxblood); }
.sl-directory-panel small { color:var(--sl-ink-soft); }
.sl-library-search label, .sl-library-status label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sl-library-search-row { display:flex; }
.sl-library-search input { width:100%; border-right:0; }
.sl-search-clear { border:1px solid var(--sl-rule); background:transparent; color:var(--sl-oxblood); padding:0 .75rem; font:inherit; cursor:pointer; }
.sl-library-status select { width:100%; }
.sl-library-result-count { align-self:center; margin:0 0 .45rem; color:var(--sl-ink-soft); font-size:.82rem; white-space:nowrap; }

.sl-library-room { scroll-margin-top:8rem; margin-bottom:clamp(6rem,12vw,11rem); }
.sl-room-header { position:relative; max-width:58rem; margin:0 0 clamp(3rem,6vw,5rem); padding-left:clamp(0rem,4vw,4rem); }
.sl-room-header::before {
  content:""; position:absolute; left:0; top:-1.2rem; width:clamp(6rem,15vw,11rem); height:calc(100% + 2.4rem);
  border:1px solid rgba(115,59,50,.14); border-bottom:0; border-radius:50% 50% 0 0 / 38% 38% 0 0; pointer-events:none;
}
.sl-room-header > * { position:relative; }
.sl-room-header .sl-kicker { margin:0 0 .55rem; color:var(--sl-oxblood); }
.sl-room-header h2 { margin:0 0 .2rem; font-family:var(--sl-serif-heading); font-size:clamp(2.6rem,6vw,5.5rem); letter-spacing:.01em; }
.sl-room-header > p:last-child { max-width:38rem; color:var(--sl-ink-soft); }
.sl-library-section-group { margin:0 0 clamp(4rem,7vw,6rem); }
.sl-library-section-title {
  display:flex; align-items:center; gap:1rem; margin:0 0 1.4rem;
  color:var(--sl-ink-soft); font-family:var(--sl-serif-heading); font-size:.88rem; letter-spacing:.14em; text-transform:uppercase;
}
.sl-library-section-title::after { content:""; flex:1; height:1px; background:var(--sl-rule); }
.sl-library-shelf { scroll-margin-top:9rem; margin:0 0 clamp(2.8rem,5vw,4.5rem); transition:background 420ms ease; }
.sl-library-shelf.is-located { animation:sl-locate-shelf 1.45s ease both; }
@keyframes sl-locate-shelf { 0%,100%{background:transparent} 35%{background:rgba(155,133,87,.12)} }
.sl-shelf-label { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin:0 0 .65rem; }
.sl-shelf-label > div > span { display:block; color:var(--sl-oxblood); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; }
.sl-shelf-label h4 { margin:.2rem 0 0; font-family:var(--sl-serif-heading); font-size:clamp(1rem,2vw,1.32rem); letter-spacing:.06em; }
.sl-shelf-label small { color:var(--sl-ink-soft); white-space:nowrap; }
.sl-shelf-scroll { overflow-x:auto; overflow-y:hidden; padding:2.7rem .7rem 0; scrollbar-color:var(--sl-rule) transparent; scrollbar-width:thin; }
.sl-shelf-scroll:focus-visible { outline:1px solid var(--sl-oxblood); outline-offset:4px; }
.sl-shelf-books {
  position:relative; min-width:max-content; height:365px; display:flex; align-items:end; gap:3px; padding:0 .7rem 22px;
  perspective:900px;
}
.sl-shelf-books::before {
  content:""; position:absolute; z-index:4; left:0; right:0; bottom:12px; height:15px;
  background:linear-gradient(#76513a,#432d20 55%,#2b1d16); border-radius:1px; box-shadow:0 8px 15px rgba(38,27,21,.28), inset 0 1px rgba(255,255,255,.17);
}
.sl-shelf-books::after {
  content:""; position:absolute; z-index:-1; left:0; right:0; bottom:27px; height:82%;
  background:linear-gradient(90deg,rgba(79,52,34,.025),rgba(255,255,255,.09),rgba(79,52,34,.025));
  border-inline:1px solid rgba(76,50,33,.12);
}
.sl-shelf-book {
  position:relative; z-index:2; flex:0 0 var(--sl-spine-width); width:var(--sl-spine-width); height:320px;
  display:flex; flex-direction:column; align-items:center; gap:.3rem; margin:0; padding:.55rem .22rem .4rem; overflow:hidden;
  border:0; border-left:1px solid rgba(255,255,255,.15); border-right:1px solid rgba(0,0,0,.23); border-radius:2px 2px 0 0;
  background-color:var(--sl-spine-color); color:#f6edda; cursor:pointer; isolation:isolate;
  box-shadow:inset 4px 0 8px rgba(255,255,255,.06),inset -5px 0 7px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.18);
  transform-origin:50% 100%; transform:translate3d(0,0,0) rotateY(0deg);
  transition:transform 520ms cubic-bezier(.2,.78,.2,1),box-shadow 420ms ease,filter 240ms ease;
}
.sl-shelf-book::before {
  content:""; position:absolute; inset:0; z-index:-1; opacity:.19;
  background:repeating-linear-gradient(89deg,transparent 0 3px,rgba(255,255,255,.11) 4px,transparent 5px 8px);
}
.sl-shelf-book[data-tone="dark"] { color:#1f1914; }
.sl-shelf-book:hover,.sl-shelf-book:focus-visible { z-index:6; outline:none; filter:saturate(1.08); transform:translate3d(0,-13px,22px) rotateY(-13deg) rotateZ(-.7deg); box-shadow:12px 14px 18px rgba(38,27,21,.27),inset 4px 0 8px rgba(255,255,255,.1); }
.sl-shelf-book:focus-visible { outline:2px solid var(--sl-gold); outline-offset:3px; }
.sl-shelf-book.is-pulling { z-index:9; transform:translate3d(0,-72px,92px) rotateY(-36deg) scale(1.04); box-shadow:30px 35px 36px rgba(38,27,21,.32); }
.sl-spine-copy {
  position:absolute; left:50%; top:50%; width:calc(320px - 2rem); height:calc(var(--sl-spine-width) - .85rem);
  display:flex; align-items:center; justify-content:center; gap:.65em; min-width:0; min-height:0;
  color:inherit; font-size:12px; line-height:1.04; text-align:center;
  transform:translate(-50%,-50%) rotate(90deg); transform-origin:center;
}
.sl-spine-copy > span {
  display:block; min-width:0; max-height:100%; overflow:visible; white-space:normal;
  overflow-wrap:break-word; hyphens:auto; writing-mode:horizontal-tb; transform:none;
}
.sl-spine-title { flex:2 1 46%; font-family:var(--sl-serif-display); font-size:1.25em; line-height:.96; letter-spacing:.01em; }
.sl-spine-volume { flex:0 1 16%; font-size:.72em; letter-spacing:.045em; text-transform:uppercase; }
.sl-spine-translator { flex:1 1 29%; font-size:.72em; letter-spacing:.01em; font-style:italic; opacity:.9; }
.sl-spine-author { flex:0 1 23%; font-size:.75em; letter-spacing:.055em; text-transform:uppercase; opacity:.9; }
.sl-shelf-book.is-spine-tight .sl-spine-copy { gap:.28em; line-height:.98; }
.sl-shelf-book.is-spine-tight .sl-spine-title { letter-spacing:0; }
.sl-shelf-book.is-spine-tight .sl-spine-author,.sl-shelf-book.is-spine-tight .sl-spine-volume { letter-spacing:.02em; }
.sl-spine-ornament { width:calc(100% - .2rem); height:4px; border-block:1px solid currentColor; opacity:.48; }
.sl-spine-progress { position:absolute; left:2px; right:2px; bottom:2px; height:3px; background:linear-gradient(90deg,#c2a763 var(--sl-read-progress),rgba(255,255,255,.22) var(--sl-read-progress)); }
.sl-spine-read { position:absolute; right:3px; bottom:1px; font-size:.55rem; }

.sl-library-empty { margin:4rem 0; padding:2rem; border-block:1px solid var(--sl-rule); text-align:center; font-style:italic; }
.sl-book-inspector {
  width:min(72rem,calc(100% - 2rem)); max-width:none; height:min(90dvh,50rem); max-height:calc(100dvh - 2rem); padding:0; overflow:hidden;
  border:1px solid var(--sl-rule); border-radius:1px; background:var(--sl-paper-light); color:var(--sl-ink); box-shadow:0 35px 90px rgba(25,17,12,.42);
  opacity:0; transform:translateY(14px) scale(.985); transition:opacity 260ms ease,transform 440ms cubic-bezier(.2,.78,.2,1),overlay 440ms allow-discrete,display 440ms allow-discrete;
}
.sl-book-inspector[open] { opacity:1; transform:none; }
@starting-style { .sl-book-inspector[open] { opacity:0; transform:translateY(16px) scale(.985); } }
.sl-book-inspector::backdrop { background:rgba(28,20,15,.72); backdrop-filter:blur(4px); }
.sl-inspector-close { position:absolute; z-index:3; top:.7rem; right:.9rem; width:2.3rem; height:2.3rem; border:0; background:transparent; color:var(--sl-ink); font:300 1.9rem/1 var(--sl-serif); cursor:pointer; }
.sl-inspector-layout { display:grid; grid-template-columns:minmax(19rem,.78fr) minmax(0,1.22fr); height:100%; min-height:0; }
.sl-inspector-cover-wrap { display:grid; place-items:center; min-height:0; padding:clamp(2rem,5vw,5rem); background:linear-gradient(145deg,#35251c,#1f1612); overflow:hidden; }
.sl-inspector-cover-image,.sl-inspector-generated-cover { width:min(100%,20rem); aspect-ratio:2/3; box-shadow:0 27px 50px rgba(0,0,0,.38); }
.sl-inspector-cover-image { height:auto; max-height:35rem; object-fit:cover; }
.sl-inspector-generated-cover {
  position:relative; display:flex; flex-direction:column; justify-content:space-between; align-items:center; padding:2.2rem 1.55rem;
  border:1px solid rgba(255,255,255,.18); background:var(--sl-cover-color,var(--sl-leather)); color:#f7edda; text-align:center;
  box-shadow:0 27px 50px rgba(0,0,0,.38),inset 12px 0 18px rgba(0,0,0,.15),inset 14px 0 rgba(255,255,255,.035);
}
.sl-inspector-generated-cover[data-tone="dark"] { color:#1f1914; }
.sl-inspector-generated-cover::before { content:""; position:absolute; inset:1rem; border:1px solid currentColor; opacity:.42; pointer-events:none; }
.sl-inspector-generated-cover strong { position:relative; font-family:var(--sl-serif-heading); font-size:clamp(1.3rem,3vw,2.15rem); font-weight:500; line-height:1.1; }
.sl-inspector-generated-cover span,.sl-inspector-generated-cover small { position:relative; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.sl-inspector-copy { min-height:0; overflow:auto; overscroll-behavior:contain; padding:clamp(2.5rem,6vw,5rem); }
.sl-inspector-copy .sl-kicker { color:var(--sl-oxblood); }
.sl-inspector-copy h2 { margin:.15rem 0 .35rem; font-family:var(--sl-serif-heading); font-size:clamp(2.25rem,5vw,4.7rem); letter-spacing:.005em; }
.sl-inspector-subtitle { margin:0 0 .65rem; color:var(--sl-ink-soft); font-family:var(--sl-serif-display); font-size:1.35rem; line-height:1.15; }
.sl-inspector-author { color:var(--sl-oxblood); font-size:1.12rem; }
.sl-inspector-translator { margin-top:-.5rem; color:var(--sl-ink-soft); font-style:italic; }
.sl-inspector-description { max-width:37rem; }
.sl-inspector-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 2rem; margin:1.8rem 0; padding:1.2rem 0; border-block:1px solid var(--sl-rule); }
.sl-inspector-details dt { color:var(--sl-ink-soft); font-size:.66rem; letter-spacing:.11em; text-transform:uppercase; }
.sl-inspector-details dd { margin:.15rem 0 0; }
.sl-inspector-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.sl-inspector-actions form { margin:0; }
.sl-return-shelf { border:0; background:transparent; color:var(--sl-oxblood); padding:.5rem 0; font:inherit; text-decoration:underline; text-underline-offset:.2em; cursor:pointer; }

@media (max-width:980px) {
  .sl-library-console { grid-template-columns:1fr 1.5fr; }
  .sl-library-result-count { justify-self:end; }
  .sl-directory-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .admin-bar .sl-library-console { top:46px; }
  .sl-library-console { position:relative; top:auto; grid-template-columns:1fr; margin-bottom:4rem; }
  .sl-library-result-count { justify-self:start; }
  .sl-directory-panel { position:relative; top:.35rem; width:100%; max-height:none; grid-template-columns:1fr; box-shadow:none; }
  .sl-room-header { padding-left:1rem; }
  .sl-shelf-scroll { margin-right:-1rem; padding-left:.15rem; }
  .sl-shelf-books { height:345px; }
  .sl-shelf-book { height:320px; width:max(48px,calc(var(--sl-spine-width) * .94)); flex-basis:max(48px,calc(var(--sl-spine-width) * .94)); }
  .sl-inspector-layout { grid-template-columns:1fr; }
  .sl-book-inspector { width:100%; height:100dvh; max-height:100dvh; border:0; overflow:auto; }
  .sl-inspector-layout { display:block; height:auto; min-height:100%; }
  .sl-inspector-cover-wrap { min-height:auto; padding:3.5rem 2rem 2rem; }
  .sl-inspector-cover-image,.sl-inspector-generated-cover { width:min(56vw,14rem); }
  .sl-inspector-copy { overflow:visible; padding:2rem 1.25rem 3rem; }
  .sl-inspector-details { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .sl-shelf-book:hover,.sl-shelf-book:focus-visible,.sl-shelf-book.is-pulling { transform:none; }
}


/* Works + sermon archive refinements */
.sl-page-works .sl-article-list { margin-bottom:clamp(4rem,8vw,7rem); }
.sl-page-works .sl-article-item { min-width:0; }
.sl-article-read, .sl-sermon-youtube {
  display:inline-flex; gap:.35rem; align-items:center; margin-top:.55rem;
  font-size:.75rem; letter-spacing:.09em; text-transform:uppercase; text-decoration:none;
}
.sl-article-read span, .sl-sermon-youtube span { transition:transform 260ms ease; }
.sl-article-read:hover span, .sl-sermon-youtube:hover span { transform:translate(.18rem,-.14rem); }
.sl-article-byline { color:var(--sl-ink-soft); font-style:italic; }

.sl-sermon-toolbar {
  display:flex; flex-wrap:wrap; gap:1rem; align-items:end;
  margin:0 0 1rem; padding:1rem 0;
  border-block:1px solid var(--sl-rule);
}
.sl-sermon-search { flex:1 1 20rem; }
.sl-sermon-search input { width:100%; }
.sl-sermon-sort { flex:0 1 13rem; }
.sl-sermon-sort select { width:100%; }
.sl-sermon-toolbar .sl-field > span {
  display:block; margin-bottom:.3rem; font-size:.7rem; letter-spacing:.11em; text-transform:uppercase;
}
.sl-sermon-status { margin:.8rem 0 1.4rem; color:var(--sl-ink-soft); font-style:italic; }
.sl-sermon-entry-live { transition:background 280ms ease, padding-inline 280ms ease; }
.sl-sermon-entry-live:hover { background:rgba(113,57,47,.025); padding-inline:.35rem; }
.sl-sermon-thumb:is(button) { width:100%; border:0; padding:0; cursor:pointer; font:inherit; }
.sl-sermon-title-button {
  appearance:none; border:0; padding:0; background:none; color:var(--sl-ink); cursor:pointer;
  font:inherit; text-align:left;
}
.sl-sermon-title-button:hover { color:var(--sl-oxblood); }
.sl-sermon-actions { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; align-items:center; }
.sl-sermon-watch {
  appearance:none; border:0; padding:0; background:none; color:var(--sl-oxblood); cursor:pointer;
}
.sl-sermon-youtube { color:var(--sl-ink-soft); }
.sl-sermon-pagination {
  display:flex; flex-wrap:wrap; gap:.35rem; justify-content:center; align-items:center;
  margin:2rem 0 .5rem; padding-top:1.2rem; border-top:1px solid var(--sl-rule-soft);
}
.sl-sermon-pagination button {
  min-width:2.35rem; min-height:2.35rem; padding:.35rem .55rem;
  border:1px solid transparent; border-radius:0; background:transparent; color:var(--sl-ink);
  font-family:var(--sl-serif); font-size:.88rem; cursor:pointer;
}
.sl-sermon-pagination button:hover { border-color:var(--sl-rule); background:rgba(255,255,255,.18); }
.sl-sermon-pagination button[aria-current="page"] { border-color:var(--sl-oxblood); color:var(--sl-oxblood); }
.sl-sermon-pagination button:disabled { opacity:.35; cursor:default; }
.sl-sermon-pagination span { color:var(--sl-ink-soft); padding:0 .15rem; }

@media (max-width:760px) {
  .sl-sermon-toolbar { align-items:stretch; }
  .sl-sermon-search, .sl-sermon-sort { flex-basis:100%; }
  .sl-sermon-pagination { justify-content:flex-start; }
}
