/* Sermon review single post: additions on top of satdw-single.css (which gives the
   reading column, the colours for both modes and the h6 verse pull-quote).
   Post layout from satchurch-post.ps1: speaker line, video embed, livestream line,
   chapters <details>, separator, then the conspectus (h2-h5 sections, h6 verses).
   Only --dws-* tokens here, so light and dark follow the site colour switch. */

/* The video poster already shows the thumbnail, so the featured image above the
   article would repeat it; and the post author is the site account that published
   it, not the preacher (the speaker line names the preacher). */
.satdw-single--sermon-review .article-post-thumbnail{display:none}
.satdw-single--sermon-review .entry-header .entry-meta .posted-by{display:none}
.satdw-single--sermon-review .entry-header .entry-meta .posted-by + .posted-on::before{display:none}
@media(min-width:1000px){
  .satdw-single--sermon-review .single-entry.content-bg{margin-top:3.5rem}
}

/* The opening lines are meta, not prose: no drop cap, quieter size. */
.satdw-single--sermon-review .entry-content.single-content > p:first-of-type::first-letter{
  float:none;font-family:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;
  color:inherit;padding:0}
.satdw-single--sermon-review .entry-content.single-content > p:first-of-type,
.satdw-single--sermon-review .entry-content.single-content > .wp-block-embed + p{
  font-size:1rem;line-height:1.6;color:var(--dws-muted);margin:0 0 1.1rem}
.satdw-single--sermon-review .entry-content.single-content > p:first-of-type strong,
.satdw-single--sermon-review .entry-content.single-content > .wp-block-embed + p strong{
  color:var(--dws-accent);font-weight:700;letter-spacing:.02em}

/* Video: rounded, lifted, full column width. */
.satdw-single--sermon-review .entry-content > .wp-block-embed{
  margin:1.4rem auto 1.3rem;max-width:43rem;border-radius:14px;overflow:hidden;
  box-shadow:0 22px 48px -30px rgba(40,15,60,.55);background:#000}
body.color-switch-dark.satdw-single--sermon-review .entry-content > .wp-block-embed{
  box-shadow:0 22px 48px -26px rgba(0,0,0,.9)}
.satdw-single--sermon-review .entry-content > .wp-block-embed .wp-block-embed__wrapper{margin:0}

/* Click-to-play facade (sermon-video.php): poster + play button fill the 16:9 box that the
   embed wrapper reserves; the iframe swapped in on click takes the same place. */
.satdw-single--sermon-review .satdw-yt{position:absolute;inset:0;display:block;cursor:pointer}
.satdw-single--sermon-review .satdw-yt-poster{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.satdw-single--sermon-review .satdw-yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  line-height:0;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45));transition:transform .2s ease}
.satdw-single--sermon-review .satdw-yt:hover .satdw-yt-play,
.satdw-single--sermon-review .satdw-yt:focus-visible .satdw-yt-play{transform:translate(-50%,-50%) scale(1.1)}
.satdw-single--sermon-review .satdw-yt:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.satdw-single--sermon-review .satdw-yt-frame{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Chapters: a quiet card that opens into a timestamp list. */
.satdw-single--sermon-review .entry-content > .wp-block-details{
  max-width:43rem;margin:0 auto 1.6rem;border:1px solid var(--dws-line);border-radius:12px;
  background:var(--dws-bg);padding:.2rem 1.1rem}
.satdw-single--sermon-review .wp-block-details summary{
  cursor:pointer;padding:.75rem 0;color:var(--dws-ink);font-weight:700;font-size:1rem;list-style-position:inside}
.satdw-single--sermon-review .wp-block-details summary:hover{color:var(--dws-accent)}
.satdw-single--sermon-review .wp-block-details ul{margin:0 0 .9rem;padding-left:0;list-style:none}
.satdw-single--sermon-review .wp-block-details li{
  font-size:.95rem;line-height:1.5;padding:.32rem 0;border-top:1px solid var(--dws-line);color:var(--dws-body)}
.satdw-single--sermon-review .wp-block-details li a{
  display:inline-block;min-width:4.2rem;font-variant-numeric:tabular-nums;font-weight:700;text-decoration:none}

/* Separator between the header block and the conspectus. */
.satdw-single--sermon-review .entry-content > .wp-block-separator{
  max-width:43rem;margin:2.2rem auto;border:0;height:1px;opacity:1;
  background:linear-gradient(90deg,transparent,var(--dws-accent),transparent)}

/* Conspectus sections. */
.satdw-single--sermon-review .entry-content.single-content > h2{
  font-size:clamp(1.5rem,3vw,1.95rem);line-height:1.2;letter-spacing:-.01em;margin:2.8rem 0 1rem}
.satdw-single--sermon-review .entry-content.single-content > h3{
  font-size:clamp(1.22rem,2.4vw,1.42rem);line-height:1.28;margin:2.1rem 0 .8rem}
.satdw-single--sermon-review .entry-content.single-content > h4,
.satdw-single--sermon-review .entry-content.single-content > h5{
  font-size:1.1rem;line-height:1.35;margin:1.7rem 0 .6rem;color:var(--dws-accent)}
.satdw-single--sermon-review .entry-content.single-content > ul,
.satdw-single--sermon-review .entry-content.single-content > ol{margin:0 0 1.55rem;padding-left:1.3rem}
.satdw-single--sermon-review .entry-content.single-content > ul li,
.satdw-single--sermon-review .entry-content.single-content > ol li{margin:.35rem 0}

@media(max-width:600px){
  .satdw-single--sermon-review .entry-content > .wp-block-embed{border-radius:10px;margin:1.1rem 0}
  .satdw-single--sermon-review .entry-content.single-content > h2{margin-top:2.2rem}
}

/* Contents list (sermon-contents.php): a closed card under the title on phones and tablets, and from
   1200px an open column beside the text that stays in view while reading. The video chapters keep
   their own <details> above. satpages.js marks the section being read with aria-current. */
.satdw-single--sermon-review .satdw-contents{margin:0 0 1.6rem}
.satdw-contents-box{border:1px solid var(--dws-line);border-radius:16px;background:var(--dws-bg)}
.satdw-contents-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;
  padding:.65rem 1.1rem;cursor:pointer;list-style:none;color:var(--dws-ink);font-size:1rem;font-weight:700}
.satdw-contents-title::-webkit-details-marker{display:none}
.satdw-contents-title::after{content:"";flex:none;width:.55rem;height:.55rem;margin-top:-.3rem;
  border-right:2px solid var(--dws-accent);border-bottom:2px solid var(--dws-accent);transform:rotate(45deg);transition:transform .2s ease}
.satdw-contents-box[open] > .satdw-contents-title::after{margin-top:.3rem;transform:rotate(-135deg)}
.satdw-contents-title:focus-visible{outline:3px solid var(--dws-accent);outline-offset:-3px;border-radius:16px}
ol.satdw-contents-list{margin:0;padding:0 .5rem .5rem;list-style:none;counter-reset:satdw-contents}
.satdw-contents-list li{margin:0;border-top:1px solid var(--dws-line);counter-increment:satdw-contents}
.satdw-contents-list a{display:grid;grid-template-columns:2.1rem minmax(0,1fr);align-items:baseline;min-height:44px;
  padding:.6rem .55rem;border-radius:10px;color:var(--dws-ink);font-size:.95rem;font-weight:600;line-height:1.38;
  text-decoration:none;transition:background .2s ease}
.satdw-contents-list a::before{content:counter(satdw-contents, decimal-leading-zero);color:var(--dws-accent);
  font-family:"Roboto Slab",Georgia,serif;font-size:.82rem;font-weight:700}
.satdw-contents-list a:hover{background:color-mix(in srgb,var(--dws-accent) 9%,transparent)}
.satdw-contents-list a[aria-current]{background:color-mix(in srgb,var(--dws-accent) 12%,transparent);
  box-shadow:inset 3px 0 0 var(--dws-accent)}
.satdw-contents-list a:focus-visible{outline:3px solid var(--dws-accent);outline-offset:2px}

/* Section anchors land with a little air; the back link closes each section on phones and tablets. */
.satdw-single--sermon-review .entry-content > :is(h2,h3)[id]{scroll-margin-top:1.5rem}
.satdw-single--sermon-review .entry-content.single-content > p.satdw-up{margin:1.2rem 0 0;font-size:.95rem;line-height:1.4}
.satdw-single--sermon-review .entry-content.single-content > p.satdw-up a{display:inline-flex;align-items:center;
  min-height:44px;color:var(--dws-accent);font-weight:700;text-decoration:none}
.satdw-single--sermon-review .entry-content.single-content > p.satdw-up a:hover{text-decoration:underline}
@media(prefers-reduced-motion:no-preference){html:has(body.satdw-has-contents){scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){.satdw-contents-title::after,.satdw-contents-list a{transition:none}}

@media(min-width:1200px){
  body.satdw-has-contents .content-area > .content-container.site-container{max-width:1180px}
  body.satdw-has-contents .entry-content-wrap{display:grid;grid-template-columns:18rem minmax(0,1fr);column-gap:3rem}
  body.satdw-has-contents .entry-content-wrap > *{grid-column:1 / -1}
  body.satdw-has-contents .entry-content-wrap > .entry-header{grid-row:1}
  body.satdw-has-contents .entry-content-wrap > .satdw-contents{grid-column:1;grid-row:2;margin:0}
  body.satdw-has-contents .entry-content-wrap > .entry-content{grid-column:2;grid-row:2;margin-left:0}
  body.satdw-has-contents .entry-content-wrap > .entry-content > :first-child{margin-top:0}
  body.satdw-has-contents .satdw-contents-box{position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);
    overflow-y:auto;scrollbar-width:thin}
  .satdw-single--sermon-review .entry-content.single-content > p.satdw-up{display:none}
}
/* Open beside the text before satpages.js sets the real open state (data-open-from), in browsers that can style
   a closed <details>. */
@supports selector(::details-content){
  @media(min-width:1200px){
    body.satdw-has-contents .satdw-contents-box::details-content{display:block;content-visibility:visible}
    body.satdw-has-contents .satdw-contents-title{cursor:default;pointer-events:none}
    body.satdw-has-contents .satdw-contents-title::after{display:none}
  }
}
