:root{
  --bfsp-gold:#d7a93a;
  --bfsp-gold2:#f0c85e;
  --bfsp-panel:#0a0e13;
  --bfsp-line:#3d3219;
  --bfsp-text:#f5f0e6;
  --bfsp-muted:#c9c1b4;
}
.bfsp-ct-topic{max-width:1100px;margin:0 auto;padding:0 18px 42px;color:var(--bfsp-text)}
.bfsp-ct-hero{
  min-height:320px;
  margin:18px 0 28px;
  border:1px solid var(--bfsp-line);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  position:relative;
  background:
    radial-gradient(circle at 78% 22%,rgba(215,169,58,.24),transparent 30%),
    linear-gradient(135deg,#17130b 0%,#090c11 48%,#111923 100%);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.bfsp-ct-hero:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(to top,rgba(0,0,0,.94),rgba(0,0,0,.10)),
    repeating-linear-gradient(125deg,rgba(215,169,58,.03) 0 1px,transparent 1px 30px);
}
.bfsp-ct-hero-inner{position:relative;z-index:2;padding:40px;max-width:840px}
.bfsp-ct-kicker{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--bfsp-gold2)}
.bfsp-ct-hero h1{margin:8px 0 10px;color:var(--bfsp-gold2);font-family:Georgia,serif;font-size:clamp(40px,7vw,76px);line-height:.98}
.bfsp-ct-subtitle{margin:0;color:#fff;font-size:18px;letter-spacing:.04em}
.bfsp-ct-summary{font-size:19px;line-height:1.7;color:#ddd6ca}
.bfsp-ct-card{
  margin:14px 0;
  padding:22px 24px;
  background:linear-gradient(180deg,#0d1218,#090c10);
  border:1px solid #2d291c;
  border-left:4px solid var(--bfsp-gold);
  border-radius:12px;
}
.bfsp-ct-card h2{margin:0 0 10px;color:var(--bfsp-gold2);font-family:Georgia,serif}
.bfsp-ct-card p{margin:0;color:#d8d2c7;line-height:1.7}
.bfsp-ct-note{margin-top:24px;padding:18px 20px;background:#090c10;border:1px solid var(--bfsp-line);border-radius:10px;color:#d7d0c4}
.bfsp-ct-related{max-width:1100px;margin:38px auto;padding:0 18px}
.bfsp-ct-related>h2{color:var(--bfsp-gold2);font-family:Georgia,serif;font-size:30px}
.bfsp-ct-grid,.bfsp-ct-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bfsp-ct-related-card,.bfsp-ct-directory-item{
  display:flex;flex-direction:column;gap:8px;
  text-decoration:none!important;
  padding:18px 20px;
  background:#0a0e13;
  border:1px solid #2f2a1a;
  border-radius:12px;
  transition:.18s ease;
}
.bfsp-ct-related-card:hover,.bfsp-ct-directory-item:hover{
  transform:translateY(-2px);
  border-color:var(--bfsp-gold);
  background:#0d1218;
}
.bfsp-ct-related-title,.bfsp-ct-directory-item strong{
  color:var(--bfsp-gold2);
  font-size:20px;
  font-family:Georgia,serif;
}
.bfsp-ct-related-copy,.bfsp-ct-directory-item span{color:#c8c1b6;line-height:1.55}
.bfsp-ct-directory{max-width:1100px;margin:24px auto;padding:0 18px}
@media(max-width:720px){
  .bfsp-ct-grid,.bfsp-ct-directory{grid-template-columns:1fr}
  .bfsp-ct-hero{min-height:260px}
  .bfsp-ct-hero-inner{padding:26px}
}


/* v1.2 - Comparative Tradition page cleanup */
.single-bfsp_tradition .entry-header,
.single-bfsp_tradition header.entry-header,
.single-bfsp_tradition .entry-title,
.single-bfsp_tradition h1.entry-title,
.single-bfsp_tradition .wp-block-post-title {
    display: none !important;
}

/* Topic-specific bundled hero artwork */
.bfsp-ct-hero {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.bfsp-ct-hero:before {
    background:
        linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.76) 38%, rgba(0,0,0,.35) 70%, rgba(0,0,0,.18) 100%),
        linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.06)) !important;
}
.bfsp-ct-hero-gog-and-magog { background-image:url('headers/gog-and-magog.jpg') !important; }
.bfsp-ct-hero-quran-and-bible { background-image:url('headers/quran-and-bible.jpg') !important; }
.bfsp-ct-hero-jewish-tradition { background-image:url('headers/jewish-tradition.jpg') !important; }
.bfsp-ct-hero-apocrypha-and-pseudepigrapha { background-image:url('headers/apocrypha-and-pseudepigrapha.jpg') !important; }
.bfsp-ct-hero-early-christianity { background-image:url('headers/early-christianity.jpg') !important; }
.bfsp-ct-hero-ancient-near-east { background-image:url('headers/ancient-near-east.jpg') !important; }
.bfsp-ct-hero-historical-theories { background-image:url('headers/historical-theories.jpg') !important; }
.bfsp-ct-hero-modern-scholarship { background-image:url('headers/modern-scholarship.jpg') !important; }

@media(max-width:720px){
    .bfsp-ct-hero{
        min-height:300px;
        background-position:center !important;
    }
}


/* v1.3 runtime-upgrade support for pages originally created by v1.0 */
.single-bfsp_tradition .bfsp-ct-duplicate-title-wrapper {
    display: none !important;
}


/* v1.3.1 visual tuning
   - lighten the hero image overlay
   - give the hero a little more breathing room below the site header
*/
.single-bfsp_tradition .bfsp-ct-hero {
    margin-top: 34px !important;
}

.single-bfsp_tradition .bfsp-ct-hero:before {
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.56) 38%,
            rgba(0,0,0,.24) 72%,
            rgba(0,0,0,.08) 100%
        ),
        linear-gradient(
            to top,
            rgba(0,0,0,.48),
            rgba(0,0,0,.02)
        ) !important;
}

/* keep text readable while letting more artwork show through */
.single-bfsp_tradition .bfsp-ct-hero-inner {
    text-shadow: 0 2px 8px rgba(0,0,0,.82);
}

@media(max-width:720px){
    .single-bfsp_tradition .bfsp-ct-hero {
        margin-top: 24px !important;
    }
}


/* v1.4 master comparative article */
.bfsp-ct-master{scroll-behavior:smooth}
.bfsp-ct-jump{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 28px}
.bfsp-ct-jump a,.bfsp-ct-source-links a{
  color:var(--bfsp-gold2)!important;text-decoration:none!important;
  border:1px solid #4a3a19;background:#0b0e12;border-radius:999px;
  padding:8px 13px;font-size:13px;font-weight:700
}
.bfsp-ct-jump a:hover,.bfsp-ct-source-links a:hover{border-color:var(--bfsp-gold2);background:#15130d}
.bfsp-ct-label{color:var(--bfsp-gold2);font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:8px}
.bfsp-ct-lead,.bfsp-ct-section,.bfsp-ct-verdict,.bfsp-ct-sources{
  margin:22px 0;padding:26px;background:#080b0f;border:1px solid #2e291b;border-radius:14px
}
.bfsp-ct-lead{border-top:3px solid var(--bfsp-gold)}
.bfsp-ct-section h2,.bfsp-ct-verdict h2,.bfsp-ct-sources h2,.bfsp-ct-lead h2{
  color:var(--bfsp-gold2);font-family:Georgia,serif;font-size:30px;margin:0 0 15px
}
.bfsp-ct-master p,.bfsp-ct-master li{color:#d8d2c7;line-height:1.75}
.bfsp-ct-master .bfsp-ct-card h3{color:var(--bfsp-gold2);font-family:Georgia,serif;margin:0 0 10px;font-size:21px}
.bfsp-ct-insight{margin:18px 0 0;padding:17px 19px;border-left:4px solid var(--bfsp-gold);background:#121008;color:#e5ddcd;line-height:1.65}
.bfsp-ct-timeline{display:grid;gap:0;margin-top:20px;border-left:2px solid #6c531e;padding-left:22px}
.bfsp-ct-timeline div{position:relative;padding:0 0 20px}
.bfsp-ct-timeline div:before{content:"";position:absolute;left:-29px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--bfsp-gold)}
.bfsp-ct-timeline strong,.bfsp-ct-timeline span{display:block}
.bfsp-ct-timeline strong{color:var(--bfsp-gold2)}
.bfsp-ct-timeline span{color:#cfc8bc;margin-top:3px}
.bfsp-ct-theory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bfsp-ct-theory-grid article{background:#0d1116;border:1px solid #302a1b;border-radius:11px;padding:19px}
.bfsp-ct-theory-grid h3{color:var(--bfsp-gold2);font-family:Georgia,serif;margin:0 0 7px}
.bfsp-ct-rating{display:block;margin-top:12px;color:#d7ad4b;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.bfsp-ct-verdict{background:linear-gradient(145deg,#171207,#090b0e);border:1px solid #6a511d}
.bfsp-ct-verdict ul{padding-left:21px}
.bfsp-ct-verdict li{margin:9px 0}
.bfsp-ct-source-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
@media(max-width:720px){
 .bfsp-ct-lead,.bfsp-ct-section,.bfsp-ct-verdict,.bfsp-ct-sources{padding:19px}
 .bfsp-ct-theory-grid{grid-template-columns:1fr}
 .bfsp-ct-section h2,.bfsp-ct-verdict h2,.bfsp-ct-sources h2,.bfsp-ct-lead h2{font-size:25px}
 .bfsp-ct-jump{gap:6px}
 .bfsp-ct-jump a{font-size:12px;padding:7px 10px}
}


/* v1.5 side-by-side primary text comparison */
.bfsp-ct-compare{
 display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0
}
.bfsp-ct-compare>div{
 background:#0d1116;border:1px solid #302a1b;border-radius:11px;padding:18px
}
.bfsp-ct-compare h3{
 color:var(--bfsp-gold2);font-family:Georgia,serif;margin:0 0 8px;font-size:19px
}
.bfsp-ct-compare p{margin:0}
@media(max-width:720px){.bfsp-ct-compare{grid-template-columns:1fr}}


/* v2.1 discovery system */
.bfsp-ct-hub{max-width:1120px;margin:35px auto 70px;padding:0 18px}
.bfsp-ct-hub-hero{padding:38px 34px;margin-bottom:22px;border:1px solid #4a3918;border-radius:14px;background:linear-gradient(135deg,#151107,#07090c)}
.bfsp-ct-hub-hero h1{font-family:Georgia,serif;color:var(--bfsp-gold2);font-size:48px;margin:4px 0 12px}
.bfsp-ct-hub-hero p{color:#ddd5c7;max-width:820px;line-height:1.65;font-size:17px}
.bfsp-ct-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bfsp-ct-hub-card{position:relative;min-height:245px;overflow:hidden;border:1px solid #42351d;border-radius:13px;text-decoration:none!important;background:#090b0e}
.bfsp-ct-hub-card-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.30)),var(--bfsp-card-img);background-size:cover;background-position:center;transition:transform .25s ease}
.bfsp-ct-hub-card:hover .bfsp-ct-hub-card-bg{transform:scale(1.035)}
.bfsp-ct-hub-card-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:linear-gradient(to top,rgba(0,0,0,.82),transparent 70%)}
.bfsp-ct-hub-card strong{font-family:Georgia,serif;color:var(--bfsp-gold2);font-size:27px}
.bfsp-ct-hub-card small{color:#eee6d8;font-size:14px;line-height:1.5;max-width:92%;margin:7px 0 13px}
.bfsp-ct-hub-card b{color:var(--bfsp-gold2);font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.bfsp-ct-related{margin:34px 0;padding:24px;border:1px solid #4a3918;border-radius:13px;background:#080b0f}
.bfsp-ct-related h2{font-family:Georgia,serif;color:var(--bfsp-gold2);margin:0 0 15px;font-size:27px}
.bfsp-ct-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.bfsp-ct-related-card{display:flex;flex-direction:column;min-height:125px;padding:16px;border:1px solid #302a1b;border-radius:10px;background:#0d1116;text-decoration:none!important}
.bfsp-ct-related-card span{color:#b89038;font-size:9px;letter-spacing:.1em;font-weight:800}
.bfsp-ct-related-card strong{color:var(--bfsp-gold2);font-family:Georgia,serif;font-size:18px;margin:7px 0}
.bfsp-ct-related-card b{color:#d8d0c2;font-size:11px;margin-top:auto}
.bfsp-traditions-menu-item>a{white-space:nowrap}
@media(max-width:760px){
 .bfsp-ct-hub-grid,.bfsp-ct-related-grid{grid-template-columns:1fr}
 .bfsp-ct-hub-hero{padding:26px 20px}
 .bfsp-ct-hub-hero h1{font-size:35px}
 .bfsp-ct-hub-card{min-height:210px}
}


/* v2.1.1 archive cleanup
   Hide the theme's own archive title/header and suppress empty repeated loop shells.
   The plugin hub supplies the only visible page title. */
.post-type-archive-bfsp_tradition .wp-block-query-title,
.post-type-archive-bfsp_tradition .archive-title,
.post-type-archive-bfsp_tradition .page-title,
.post-type-archive-bfsp_tradition .entry-header,
.post-type-archive-bfsp_tradition header.entry-header,
.post-type-archive-bfsp_tradition main > h1,
.post-type-archive-bfsp_tradition main > header {
    display: none !important;
}

/* Restore our own hub heading even if a theme selector is overly broad. */
.post-type-archive-bfsp_tradition .bfsp-ct-hub-hero,
.post-type-archive-bfsp_tradition .bfsp-ct-hub-hero h1 {
    display: block !important;
}

/* Once repeated post content is blanked by PHP, collapse leftover article wrappers. */
.post-type-archive-bfsp_tradition article:has(.entry-content:empty),
.post-type-archive-bfsp_tradition article:has(.wp-block-post-content:empty) {
    display: none !important;
}

.post-type-archive-bfsp_tradition .bfsp-ct-hub {
    margin-top: 42px;
}


/* v2.1.2: kill the theme's leftover archive post shells.
   The previous fix blanked their content, but Twenty Twenty-Five still rendered
   each post title separately. Hide every archive loop article, then explicitly
   restore the one article containing our generated hub. */
.bfsp-ct-clean-archive article,
.bfsp-ct-clean-archive .wp-block-post-template > li,
.bfsp-ct-clean-archive .wp-block-query .wp-block-post {
    display:none !important;
}
.bfsp-ct-clean-archive article:has(.bfsp-ct-hub),
.bfsp-ct-clean-archive .wp-block-post-template > li:has(.bfsp-ct-hub),
.bfsp-ct-clean-archive .wp-block-query .wp-block-post:has(.bfsp-ct-hub) {
    display:block !important;
}

/* If the theme puts title markup outside the article, suppress it too. */
.bfsp-ct-clean-archive .wp-block-post-template .wp-block-post-title,
.bfsp-ct-clean-archive .wp-block-query .wp-block-post-title {
    display:none !important;
}

/* The hub has its own title. */
.bfsp-ct-clean-archive .bfsp-ct-hub,
.bfsp-ct-clean-archive .bfsp-ct-hub-hero,
.bfsp-ct-clean-archive .bfsp-ct-hub-hero h1 {
    display:block !important;
}
