/* Editorial listings (daily word, sermon review). Follows the site colour switch: light by default, dark
   under body.color-switch-dark. All colours come from the --dw-* tokens below,
   chosen for WCAG-AA contrast in BOTH modes.
   The hero stays a deep violet banner in both modes on purpose: these pages use
   Kadence's transparent (white) overlay header, which would be unreadable on a
   light hero. Never restyle the header itself (it breaks Kadence's transparent
   header); keep the banner dark instead. */

.satdw{
  /* LIGHT (default) */
  --dw-hero-a:#2a1640;      /* hero gradient start */
  --dw-hero-b:#3d1f52;      /* hero gradient end   */
  --dw-hero-ink:#ffffff;    /* 15:1 on hero        */
  --dw-hero-sub:#e6dcf0;    /* 10:1 on hero        */
  --dw-hero-eyebrow:#e0b6f2;/* 7:1 on hero         */
  --dw-bg:#f7f4fa;          /* page background     */
  --dw-panel:#ffffff;       /* cards / toolbar     */
  --dw-panel-2:#ffffff;
  --dw-line:rgba(84,46,104,.16);
  --dw-line-strong:rgba(84,46,104,.34);
  --dw-accent:#7a3f95;      /* 6.0:1 on #fff       */
  --dw-accent-hover:#5e2f74;
  --dw-on-accent:#ffffff;   /* 6.0:1 on accent     */
  --dw-ink:#241a2e;         /* 14:1 on #fff        */
  --dw-body:#4a4155;        /* 8.6:1 on #fff       */
  --dw-muted:#635a70;       /* 6.2:1 on #fff       */
  --dw-shadow:0 14px 34px -20px rgba(45,20,60,.35);
  --dw-field-bg:#ffffff;
  overflow-x:hidden;color:var(--dw-body)
}
body.color-switch-dark .satdw{
  /* DARK */
  --dw-hero-a:#1d1030;
  --dw-hero-b:#0d0912;
  --dw-hero-ink:#f7f4fa;
  --dw-hero-sub:#cabfd6;
  --dw-hero-eyebrow:#d5a5ee;
  --dw-bg:#0d0912;
  --dw-panel:#171020;
  --dw-panel-2:#1b1226;
  --dw-line:rgba(196,138,224,.18);
  --dw-line-strong:rgba(196,138,224,.42);
  --dw-accent:#c48ae0;      /* 8.1:1 on #0d0912    */
  --dw-accent-hover:#e0b6f2;
  --dw-on-accent:#180f22;   /* 8.1:1 on accent     */
  --dw-ink:#f4f0f7;         /* 16:1 on bg          */
  --dw-body:#cabfd6;        /* 9.6:1 on bg         */
  --dw-muted:#a99bbd;       /* 6.1:1 on bg         */
  --dw-shadow:0 14px 34px -18px rgba(0,0,0,.8);
  --dw-field-bg:#0d0912;
}

/* Page background follows the mode (body class set on every listing page). */
.satdw-listing-page{background:#f7f4fa}
body.color-switch-dark.satdw-listing-page{background:#0d0912}
.satdw-listing-page #wrapper,.satdw-listing-page #inner-wrap,
.satdw-listing-page .content-container,.satdw-listing-page main{background:transparent}

.satdw *{box-sizing:border-box}
.satdw a{text-decoration:none}
.satdw-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Hero -------------------------------------------------------------------- */
.satdw-hero{position:relative;background:
  radial-gradient(120% 120% at 12% 0%,var(--dw-hero-a) 0%,rgba(0,0,0,0) 58%),
  linear-gradient(180deg,var(--dw-hero-a) 0%,var(--dw-hero-b) 100%);
  padding:clamp(6.5rem,13vh,9.5rem) 1.25rem clamp(2.5rem,6vh,4rem)}
.satdw-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(224,182,242,.45),transparent)}
.satdw-hero-inner{max-width:calc(1180px - 2.5rem);margin:0 auto}
.satdw-eyebrow{color:var(--dw-hero-eyebrow);font-size:.74rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;margin:0 0 .9rem}
.satdw-title{color:var(--dw-hero-ink);font-size:clamp(2.3rem,8vw,4.4rem);font-weight:800;
  line-height:1.02;letter-spacing:-.025em;margin:0;max-width:14ch}
.satdw-subtitle{color:var(--dw-hero-sub);font-size:clamp(1.02rem,2.4vw,1.2rem);line-height:1.6;
  margin:1.15rem 0 0;max-width:46ch}
.satdw-count{color:var(--dw-hero-sub);font-size:.86rem;font-weight:600;margin:.9rem 0 0;opacity:.92}

/* Toolbar: search + filters ---------------------------------------------- */
.satdw-toolbar{background:var(--dw-panel);border-bottom:1px solid var(--dw-line)}
.satdw-toolbar-inner{max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem}
.satdw-search{display:flex;gap:.6rem;max-width:520px}
.satdw-search input[type=search]{flex:1;min-width:0;background:var(--dw-field-bg);
  border:1px solid var(--dw-line-strong);border-radius:10px;color:var(--dw-ink);
  font-size:1rem;padding:.8rem 1rem;transition:border-color .2s,box-shadow .2s}
.satdw-search input::placeholder{color:var(--dw-muted)}
.satdw-search input:focus{outline:none;border-color:var(--dw-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--dw-accent) 30%,transparent)}
.satdw-search button{flex:none;background:var(--dw-accent);color:var(--dw-on-accent);border:0;
  border-radius:10px;font-size:.92rem;font-weight:700;padding:0 1.3rem;cursor:pointer;
  transition:background .2s}
.satdw-search button:hover{background:var(--dw-accent-hover)}

.satdw-years,.satdw-months{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.15rem}
.satdw-pill,.satdw-mpill{display:inline-flex;align-items:center;background:var(--dw-panel-2);
  border:1px solid var(--dw-line-strong);color:var(--dw-body);font-size:.84rem;font-weight:600;
  padding:.42rem .85rem;border-radius:999px;transition:background .2s,color .2s,border-color .2s}
.satdw-mpill{font-size:.78rem;padding:.34rem .7rem}
.satdw-pill:hover,.satdw-mpill:hover{color:var(--dw-accent);border-color:var(--dw-accent)}
.satdw-pill.is-active,.satdw-mpill.is-active{background:var(--dw-accent);color:var(--dw-on-accent);
  border-color:var(--dw-accent)}
.satdw-resultline{margin:1.1rem 0 0;color:var(--dw-muted);font-size:.92rem}
.satdw-resultline strong{color:var(--dw-ink)}
.satdw-clear{color:var(--dw-accent);margin-left:.6rem;font-weight:600}
.satdw-clear:hover{text-decoration:underline}

/* Body -------------------------------------------------------------------- */
.satdw-body{background:var(--dw-bg)}
.satdw-body-inner{max-width:1180px;margin:0 auto;padding:clamp(2rem,5vh,3.5rem) 1.25rem 4rem}
.satdw-card-date{color:var(--dw-accent);font-size:.72rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;margin:0 0 .55rem}

/* Featured newest --------------------------------------------------------- */
.satdw-featured{display:grid;grid-template-columns:1fr;background:var(--dw-panel);
  border:1px solid var(--dw-line);border-radius:16px;overflow:hidden;margin-bottom:2.25rem;
  box-shadow:var(--dw-shadow)}
.satdw-featured-media{display:block;position:relative;aspect-ratio:16/10;background:var(--dw-panel-2);overflow:hidden}
.satdw-featured-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.satdw-featured:hover .satdw-featured-media img{transform:scale(1.04)}
.satdw-featured-body{padding:clamp(1.5rem,3.5vw,2.5rem)}
.satdw-featured-title{margin:0 0 .8rem;font-size:clamp(1.5rem,3.4vw,2.15rem);
  font-weight:800;line-height:1.12;letter-spacing:-.015em}
.satdw-featured-title a{color:var(--dw-ink)}
.satdw-featured-title a:hover{color:var(--dw-accent)}
.satdw-featured-exc{color:var(--dw-body);font-size:1.02rem;line-height:1.68;margin:0 0 1.4rem;max-width:60ch}
@media(min-width:820px){
  .satdw-featured{grid-template-columns:1.15fr 1fr;align-items:stretch}
  .satdw-featured-media{aspect-ratio:auto;height:100%;min-height:340px}
  .satdw-featured-body{display:flex;flex-direction:column;justify-content:center}
}

/* Card grid --------------------------------------------------------------- */
.satdw-grid{display:grid;grid-template-columns:1fr;gap:1.4rem}
@media(min-width:560px){.satdw-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.satdw-grid{grid-template-columns:repeat(3,1fr);gap:1.6rem}}
.satdw-card{display:flex;flex-direction:column;background:var(--dw-panel);
  border:1px solid var(--dw-line);border-radius:14px;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.satdw-card:hover{transform:translateY(-4px);border-color:var(--dw-line-strong);box-shadow:var(--dw-shadow)}
.satdw-card-media{display:block;position:relative;aspect-ratio:16/9;background:var(--dw-panel-2);overflow:hidden}
.satdw-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.satdw-card:hover .satdw-card-media img{transform:scale(1.05)}
.satdw-card-noimg{position:absolute;inset:0;background:
  radial-gradient(80% 80% at 30% 20%,var(--dw-hero-b) 0%,var(--dw-hero-a) 70%)}
.satdw-card-body{display:flex;flex-direction:column;flex:1;padding:1.15rem 1.2rem 1.25rem}
.satdw-card-title{margin:0 0 .6rem;font-size:1.12rem;font-weight:700;line-height:1.28;letter-spacing:-.01em}
.satdw-card-title a{color:var(--dw-ink)}
.satdw-card-title a:hover{color:var(--dw-accent)}
.satdw-card-exc{color:var(--dw-body);font-size:.92rem;line-height:1.6;margin:0 0 1rem}

/* Read link --------------------------------------------------------------- */
.satdw-read{display:inline-flex;align-items:center;gap:.4rem;min-height:24px;margin-top:auto;
  color:var(--dw-accent);font-size:.82rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;transition:gap .2s,color .2s;align-self:flex-start}
.satdw-read svg{transition:transform .2s}
.satdw-read:hover{color:var(--dw-accent-hover)}
.satdw-read:hover svg{transform:translateX(3px)}
.satdw-featured .satdw-read{font-size:.88rem}

/* Pagination -------------------------------------------------------------- */
.satdw-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:3rem}
.satdw-pager a,.satdw-pager span{display:inline-flex;align-items:center;justify-content:center;
  min-width:2.6rem;height:2.6rem;padding:0 .7rem;border-radius:9px;
  border:1px solid var(--dw-line-strong);background:var(--dw-panel);color:var(--dw-body);
  font-size:.9rem;font-weight:600;transition:background .2s,color .2s,border-color .2s}
.satdw-pager a:hover{color:var(--dw-accent);border-color:var(--dw-accent)}
.satdw-pager .current{background:var(--dw-accent);color:var(--dw-on-accent);border-color:var(--dw-accent)}
.satdw-pager .dots{border-color:transparent;background:transparent;color:var(--dw-muted)}

/* Empty ------------------------------------------------------------------- */
.satdw-empty-wrap{max-width:1180px;margin:0 auto;padding:4rem 1.25rem 5rem}
.satdw-empty{color:var(--dw-body);font-size:1.05rem;text-align:center}

/* Accessibility: the theme sets a global hide-focus-outline body class. */
.satdw a:focus-visible,.satdw button:focus-visible,.satdw input:focus-visible{
  outline:3px solid var(--dw-accent);outline-offset:2px;border-radius:4px}
#main.satdw:focus{outline:none}

/* Footer sits on the page background; only tint it in dark mode. */
body.color-switch-dark.satdw-listing-page .footer-navigation-wrap a{color:#cabfd6 !important}
body.color-switch-dark.satdw-listing-page .footer-navigation-wrap a:hover{color:#fff !important}
body.color-switch-dark.satdw-listing-page .footer-html-inner,
body.color-switch-dark.satdw-listing-page .footer-html-inner p{color:#b3a7c4 !important}

/* Card byline (the preacher on sermon reviews) ------------------------------ */
.satdw-card-byline{color:var(--dw-muted);font-size:.86rem;font-weight:600;line-height:1.35;margin:-.2rem 0 .65rem}
.satdw-featured .satdw-card-byline{font-size:.95rem;margin-bottom:.85rem}

/* Sermon reviews (their cards, on the listing and on the post archives): thumbnails carry title text, so show
   them whole at 16:9 ---- */
.satdw-featured--sermon-review .satdw-featured-media{aspect-ratio:16/9}
@media(min-width:820px){
  /* The image column fills the card's full height: the thumbnail stays whole (contain) and a
     blurred, darkened copy of it fills the space above and below, so no empty white bands. */
  .satdw-featured.satdw-featured--sermon-review{grid-template-columns:1.45fr 1fr;align-items:stretch}
  .satdw-featured--sermon-review .satdw-featured-media{aspect-ratio:auto;height:100%;min-height:300px;min-width:0;background:#0d1a1f;isolation:isolate}
  .satdw-featured--sermon-review .satdw-featured-media::before{content:"";position:absolute;inset:-24px;z-index:-1;
    background:var(--satdw-media-backdrop) center/cover no-repeat;filter:blur(22px) brightness(.55) saturate(1.1)}
  /* absolute: the 1024px image must not size the grid column, the text column sets the height */
  .satdw-featured--sermon-review .satdw-featured-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
  .satdw-featured--sermon-review .satdw-featured-exc{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
}

/* Older sermon reviews (2012-2019) have no thumbnail: an open-book mark instead of an empty block. */
:is(.satdw-featured--sermon-review,.satdw-card--sermon-review) .satdw-card-noimg::after{content:"";position:absolute;inset:0;margin:auto;
  width:3.2rem;height:3.2rem;opacity:.5;background:var(--dw-hero-eyebrow);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5.5C4.5 4 8 4 12 6c4-2 7.5-2 10-.5V19c-2.5-1.5-6-1.5-10 .5-4-2-7.5-2-10-.5z'/%3E%3Cpath d='M12 6v13.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 5.5C4.5 4 8 4 12 6c4-2 7.5-2 10-.5V19c-2.5-1.5-6-1.5-10 .5-4-2-7.5-2-10-.5z'/%3E%3Cpath d='M12 6v13.5'/%3E%3C/svg%3E") center/contain no-repeat}

@media(prefers-reduced-motion:reduce){.satdw *{transition:none !important}}

/* Post archives: posts page, categories, tags (post-archive-template.php) ------- */
/* Curved violet hero of the inner pages (sathome-hero + satpage-hero): the same in both modes, the
   lilac rim keeps the curve visible on the dark page. */
.satdw-hero--curved{background:
  radial-gradient(80% 90% at 100% 0%,rgba(196,138,224,.28),transparent 62%),
  radial-gradient(70% 80% at 0% 100%,rgba(144,79,172,.36),transparent 62%),#3d1f52;
  border-radius:0 0 50% 50% / 0 0 48px 48px;box-shadow:0 1px 0 color-mix(in srgb,var(--global-palette1) 35%,transparent);
  padding-bottom:clamp(3.25rem,8vh,4.75rem)}
.satdw-hero--curved::after{display:none}
.satdw-hero--curved .satdw-title{max-width:22ch}
.satdw--archive .satdw-toolbar{background:transparent;border-bottom:0}
.satdw--archive .satdw-toolbar-inner{padding-top:1.75rem;padding-bottom:0}
/* Category pills: one swipeable row on phones, wrapped from 768px. */
.satdw-cats{display:flex;gap:.5rem;margin:0 -1.25rem;padding:.25rem 1.25rem .35rem;overflow-x:auto;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 1.25rem,#000 calc(100% - 1.25rem),transparent);
          mask-image:linear-gradient(90deg,transparent,#000 1.25rem,#000 calc(100% - 1.25rem),transparent)}
.satdw-cats::-webkit-scrollbar{display:none}
.satdw-cats > a{flex:none;white-space:nowrap}
.satdw-cats.satdw-cats--sub{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--dw-line)}
.satdw-card-tag{display:inline-block;align-self:flex-start;margin:0 0 .6rem;padding:.22rem .65rem;border-radius:999px;
  background:color-mix(in srgb,var(--dw-accent) 11%,transparent);color:var(--dw-accent);
  font-size:.76rem;font-weight:700;line-height:1.3}
@media(min-width:768px){
  .satdw-hero--curved{border-bottom-left-radius:50% 72px;border-bottom-right-radius:50% 72px}
  .satdw-cats{flex-wrap:wrap;margin:0;padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none}
}
