/* ============================================================
   SERMONS (sermons.html), LIBRARY (library.html), CESK (cesk.html)
   Shared page parts come from calendar.css, liturgy.css,
   eparchy.css and news.css.
   ============================================================ */

/* ---------- Sermons ---------- */
.sermon-feature{position:relative;overflow:hidden;margin-bottom:28px;padding:clamp(22px,3.5vw,36px);border-radius:var(--radius);color:var(--on-nave);
  background:var(--nave);box-shadow:var(--frame-nave)}
.sermon-feature h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.4rem,1.1rem + 1.4vw,2.1rem);line-height:1.2;margin:4px 0 6px}
html[lang="ti"] .sermon-feature h2{font-family:var(--ethiopic-serif)}
.sf-meta{color:var(--on-nave);font-size:.92rem;margin-bottom:16px}
.sermon-feature .r-btn{border-color:var(--on-nave-muted);color:var(--on-nave);background:transparent}
.sermon-feature .r-btn:hover{background:transparent;border-color:var(--on-nave-gold);color:var(--on-nave-gold)}
.sermon-feature .r-soon{color:var(--on-nave)}
.sermon-feature audio{width:100%;max-width:520px;margin-top:14px}
.r-count{font-size:.85rem;font-weight:600;color:var(--muted);margin:-8px 0 12px}
.r-list{list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--frame)}
.r-year{position:sticky;top:0;z-index:1;padding:8px 18px;background:var(--gold-soft,var(--leaf));color:var(--navy-dark);font-weight:700;font-size:.82rem;letter-spacing:.08em}
.r-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 18px;border-top:1px solid var(--line)}
.r-year + .r-row{border-top:0}
.r-text{display:flex;flex-direction:column;min-width:0;flex:1 1 260px}
.r-text strong{color:var(--ink);font-size:.98rem}
.r-text span{color:var(--muted);font-size:.82rem}
.r-row audio{flex-basis:100%;width:100%;height:40px}
.r-actions{display:flex;flex-wrap:wrap;gap:6px}
.r-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--radius-1);border:1px solid var(--rule-control);background:transparent;color:var(--ink);font-weight:600;font-size:.82rem;cursor:pointer;transition:background-color .2s,color .2s}
.r-btn:hover{background:var(--leaf);border-color:var(--ink);color:var(--ink);text-decoration:none}
.r-listen{background:var(--pigment-red);border-color:var(--red);color:var(--on-pigment)}
.r-listen:hover{background:var(--pigment-red-deep);border-color:var(--red-dark)}
.r-soon{font-size:.8rem;color:var(--muted);font-style:italic}
.r-empty{text-align:center;padding:20px}
.radio-box{display:flex;align-items:center;gap:16px;margin-top:28px;padding:18px 20px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:var(--frame)}
.radio-box:hover{border-color:var(--navy);text-decoration:none}
.radio-box > span:nth-child(2){display:flex;flex-direction:column;flex:1}
.radio-box strong{color:var(--navy)}
.radio-box small{color:var(--muted)}
.radio-icon{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--pigment-lapis)}
.radio-icon svg{width:24px;height:24px;fill:var(--on-pigment)}

/* ---------- Library: book-cover gallery ---------- */
.book-grid{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:repeat(auto-fill,minmax(min(46%,190px),1fr))}
.book{display:flex;flex-direction:column;min-width:0}
.book-cover{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;aspect-ratio:3/4;padding:16px 14px 16px 22px;
  border-radius:var(--radius-1) var(--radius-0) var(--radius-0) var(--radius-1);background-size:cover;background-position:center;color:var(--on-nave);overflow:hidden;
  box-shadow:inset 6px 0 0 color-mix(in srgb,var(--ink) 18%,transparent),inset 8px 0 0 color-mix(in srgb,var(--on-nave) 8%,transparent);transition:transform .25s,box-shadow .25s}
.book-cover::before{content:"";position:absolute;top:14px;left:22px;right:14px;height:2px;background:color-mix(in srgb,var(--on-nave) 45%,transparent)}
.book-cover:hover{transform:none;box-shadow:inset 6px 0 0 color-mix(in srgb,var(--ink) 18%,transparent);text-decoration:none}
.book-cat{position:absolute;top:24px;left:22px;right:14px;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--on-nave) 75%,transparent)}
.book-title{font-family:var(--serif);font-weight:600;font-size:clamp(.92rem,.85rem + .3vw,1.08rem);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}
.book-author{font-size:.72rem;color:color-mix(in srgb,var(--on-nave) 80%,transparent)}
html[lang="ti"] .book-title{font-family:var(--ethiopic-serif)}
html[lang="ti"] .book-cat{letter-spacing:0;text-transform:none}
.book-sample{position:absolute;top:auto;bottom:auto;right:10px;top:40px;margin:0;background:color-mix(in srgb,var(--leaf-raised) 92%,transparent)}
.book-body{display:flex;flex-direction:column;gap:4px;padding:12px 2px 0;flex:1}
.book-body h3{font-size:.92rem;font-weight:600;line-height:1.3;color:var(--ink)}
.book-meta{font-size:.78rem;color:var(--muted)}
.book-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:6px}
.book-lang{font-size:.72rem;font-weight:700;color:var(--navy);background:var(--navy-soft);padding:2px 8px;border-radius:var(--radius-1)}
@media (max-width:480px){ .book-cover{padding:12px 10px 12px 16px} .book-cat,.book-cover::before{left:16px} }

/* ---------- CESK ---------- */
.cesk-page .page-head h1{letter-spacing:.06em}
