body.single-post{
  --vj-ink:#111827; --vj-dark:#13231d; --vj-green:#3f725c; --vj-cream:#f7f2e8;
  --vj-lime:#e0e722; --vj-red:#f9413a; --vj-blue:#485cc7; --vj-sea:#9be3bf; --vj-text:#26332d;
  --vj-stripe:linear-gradient(90deg,var(--vj-blue) 0 25%,var(--vj-lime) 25% 50%,var(--vj-red) 50% 75%,var(--vj-sea) 75% 100%);
  background:var(--vj-cream);
}
#cj-progress{position:fixed;left:0;top:0;height:5px;width:0;z-index:100000;background:var(--vj-stripe);background-size:100vw 100%;}
body.admin-bar #cj-progress{top:32px}
/* ---------- HERO ---------- */
body.single-post #intro{position:relative;overflow:hidden;min-height:clamp(340px,62vh,620px);
  display:flex !important;flex-direction:column !important;justify-content:flex-end !important;
  background:var(--vj-dark) !important;padding:0 !important;}
body.single-post #intro .cj-hero-bg{position:absolute;inset:-4%;background-size:cover;background-position:center;
  background-image:var(--cj-hero);animation:vj-kenburns 22s ease-in-out infinite alternate;}
body.single-post #intro::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(19,35,29,.1) 0%,rgba(19,35,29,.5) 50%,rgba(19,35,29,.95) 100%);}
body.single-post #intro::before{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;z-index:4;background:var(--vj-stripe);}
body.single-post #intro .wrap-safari,body.single-post #intro-core{position:relative;z-index:3;width:100%;}
body.single-post #intro-core{max-width:900px;margin:0 auto;padding:0 20px 60px !important;background:none !important;text-align:left;}
body.single-post #intro .page-title{font-family:"Montserrat",sans-serif !important;font-weight:800 !important;
  font-size:clamp(30px,5vw,56px) !important;line-height:1.1 !important;letter-spacing:-.01em;color:#fff !important;
  text-shadow:0 3px 18px rgba(0,0,0,.5);background:none !important;padding:0 !important;margin:0 !important;
  animation:vj-rise .9s cubic-bezier(.2,.7,.2,1) both;}
body.single-post #intro .page-title span{background:none !important;color:inherit !important;padding:0 !important;display:inline !important;}
body.single-post #intro .cj-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;
  font:700 13px/1 "Kameron",serif;letter-spacing:.08em;text-transform:uppercase;color:var(--vj-ink);
  background:var(--vj-lime);padding:9px 14px;box-shadow:4px 4px 0 var(--vj-red);animation:vj-rise .7s .1s both;}
body.single-post #intro [class*=breadcrumb],body.single-post #breadcrumbs{display:none !important;}
body.single-post #intro .cj-ember{position:absolute;bottom:-10px;z-index:2;border-radius:50%;opacity:0;animation:vj-float linear infinite;}
body.single-post #intro .cj-ember:nth-child(4n){background:var(--vj-lime)}
body.single-post #intro .cj-ember:nth-child(4n+1){background:var(--vj-sea)}
body.single-post #intro .cj-ember:nth-child(4n+2){background:#fff}
body.single-post #intro .cj-ember:nth-child(4n+3){background:var(--vj-lime)}
/* ---------- BODY ---------- */
body.single-post #content{background:var(--vj-cream);}
body.single-post #main-core{max-width:800px !important;margin:0 auto !important;padding:0 20px !important;}
body.single-post article.post{background:#fff;border-radius:18px;margin-top:-36px;position:relative;z-index:5;
  padding:clamp(22px,5vw,56px);box-shadow:0 20px 50px -24px rgba(19,35,29,.4);}
body.single-post .entry-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin:0 0 26px !important;
  font:700 12px/1 "Kameron",serif !important;color:var(--vj-ink);text-transform:uppercase;letter-spacing:.05em;}
body.single-post .entry-meta>span{background:var(--vj-cream);padding:8px 12px;border-radius:999px;}
body.single-post .entry-meta>span.category{background:var(--vj-sea);}
body.single-post .entry-meta>span:before{display:none}
body.single-post .entry-meta a{color:var(--vj-ink) !important;}
body.single-post .entry-content{font-family:"Source Sans 3","Source Sans Pro",sans-serif;color:var(--vj-text);}
body.single-post .entry-content p,body.single-post .entry-content li{font-size:clamp(17px,1.25vw + 10px,20px) !important;line-height:1.75 !important;}
body.single-post .entry-content>p:first-of-type{font-size:clamp(19px,1.4vw + 11px,23px) !important;line-height:1.6 !important;color:var(--vj-ink);font-weight:600;}
body.single-post .entry-content h2{font-family:"Montserrat",sans-serif !important;font-weight:800 !important;
  font-size:clamp(24px,2.4vw,32px) !important;line-height:1.2 !important;color:var(--vj-ink) !important;
  margin:2.2em 0 .7em !important;padding-bottom:16px;position:relative;}
body.single-post .entry-content h2::after{content:"";position:absolute;left:0;bottom:0;height:6px;width:56px;
  background:var(--vj-stripe);transition:width .8s cubic-bezier(.2,.7,.2,1);}
body.single-post .entry-content h2.cj-in::after{width:140px}
body.single-post .entry-content h3{font-family:"Boogaloo",cursive !important;font-weight:400 !important;color:var(--vj-ink) !important;font-size:clamp(22px,2vw,28px) !important;}
body.single-post .entry-content a:not(.cj-btn){color:var(--vj-blue) !important;font-weight:600;text-decoration:underline;
  text-decoration-color:rgba(72,92,199,.3);text-underline-offset:3px;text-decoration-thickness:2px;transition:text-decoration-color .2s,background .2s;}
body.single-post .entry-content a:not(.cj-btn):hover{text-decoration-color:var(--vj-blue);background:rgba(224,231,34,.35);}
body.single-post .entry-content ul{list-style:none !important;padding-left:0 !important;margin:1em 0 1.4em !important;}
body.single-post .entry-content ul li{position:relative;padding:6px 0 6px 34px !important;margin:0 !important;}
body.single-post .entry-content ul li::before{content:"";position:absolute;left:4px;top:.85em;width:13px;height:13px;
  background:var(--vj-lime);box-shadow:3px 3px 0 var(--vj-red);transform:rotate(45deg);}
body.single-post .entry-content ul li:nth-child(2n)::before{background:var(--vj-sea);box-shadow:3px 3px 0 var(--vj-blue);}
body.single-post .entry-content strong{color:var(--vj-ink)}
/* images + video */
body.single-post .entry-content figure{margin:2em 0 !important;}
body.single-post .entry-content .wp-block-image img,body.single-post .entry-content .wp-block-gallery img{border-radius:14px;
  box-shadow:0 14px 34px -14px rgba(19,35,29,.45);}
body.single-post .entry-content .wp-block-gallery{gap:14px !important;}
body.single-post .entry-content .wp-block-gallery figure.wp-block-image{overflow:hidden;border-radius:14px;}
body.single-post .entry-content .wp-block-gallery figure.wp-block-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
body.single-post .entry-content .wp-block-gallery figure.wp-block-image:hover img{transform:scale(1.06);}
body.single-post .entry-content figcaption{font:600 14px/1.4 "Source Sans 3",sans-serif !important;color:#5b6660 !important;text-align:center;}
body.single-post .entry-content .wp-block-gallery figcaption{color:#fff !important;}
body.single-post .entry-content .wp-block-embed-youtube .wp-block-embed__wrapper{border-radius:14px;overflow:hidden;
  box-shadow:8px 8px 0 var(--vj-lime),0 24px 50px -18px rgba(19,35,29,.5);}
body.single-post .entry-content .code-block{margin:2em 0 !important;}
/* scroll reveal */
body.single-post .cj-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
body.single-post .cj-reveal.cj-in{opacity:1;transform:none;}
/* ---------- JOIN THE VILLAGE ---------- */
.cj-join{position:relative;overflow:hidden;margin:3em 0 .5em;padding:clamp(26px,5vw,44px) clamp(26px,5vw,44px) calc(clamp(26px,5vw,44px) + 6px);
  border-radius:18px;color:#e8f0eb;background:radial-gradient(120% 140% at 100% 0%,var(--vj-green) 0%,var(--vj-dark) 60%);
  font-family:"Source Sans 3",sans-serif;}
.cj-join::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--vj-stripe);}
.cj-join::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(155,227,191,.35),transparent 65%);animation:vj-glow 4s ease-in-out infinite alternate;}
.cj-join .cj-join-kicker{font:700 13px/1 "Kameron",serif !important;letter-spacing:.1em;text-transform:uppercase;color:var(--vj-sea) !important;margin:0 0 10px !important;}
.cj-join h3{font-family:"Boogaloo",cursive !important;font-weight:400 !important;font-size:clamp(32px,4vw,44px) !important;
  line-height:1.05 !important;color:var(--vj-lime) !important;margin:0 0 10px !important;}
.cj-join p{font-size:18px !important;line-height:1.6 !important;color:#e8f0eb !important;margin:0 0 24px !important;max-width:520px;}
.cj-join .cj-btns{display:flex;flex-wrap:wrap;gap:14px;position:relative;z-index:1;}
.cj-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;font:700 14px/1 "Kameron",serif;text-transform:uppercase;letter-spacing:.04em;
  text-decoration:none !important;transition:transform .15s,box-shadow .15s,background .2s;}
.cj-btn-primary{background:var(--vj-lime);color:var(--vj-ink) !important;box-shadow:5px 5px 0 var(--vj-red);}
.cj-btn-primary:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--vj-red);}
.cj-btn-ghost{background:#fff;color:var(--vj-ink) !important;box-shadow:5px 5px 0 var(--vj-blue);}
.cj-btn-ghost:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--vj-blue);}
.cj-join .cj-mag{position:absolute;right:28px;top:22px;font-size:34px;animation:vj-bob 3s ease-in-out infinite;}
/* prev / next */
body.single-post #nav-below{max-width:800px;margin:28px auto 60px !important;display:flex;justify-content:space-between;gap:12px;padding:0 4px;}
body.single-post #nav-below a{display:inline-flex;align-items:center;gap:8px;background:var(--vj-lime);color:var(--vj-ink) !important;
  font:700 14px/1 "Kameron",serif;text-transform:uppercase;padding:13px 20px;box-shadow:5px 5px 0 var(--vj-red);transition:transform .15s,box-shadow .15s;}
body.single-post #nav-below a:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--vj-red);}
@keyframes vj-kenburns{from{transform:scale(1)}to{transform:scale(1.1) translate(-1.5%,-1%)}}
@keyframes vj-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes vj-float{0%{transform:translate(0,0);opacity:0}10%{opacity:.85}100%{transform:translate(var(--dx),-70vh);opacity:0}}
@keyframes vj-glow{from{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.15)}}
@keyframes vj-bob{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-6px) rotate(6deg)}}
@media (max-width:600px){
  body.single-post article.post{margin-top:-24px;border-radius:14px}
  body.single-post #intro-core{padding-bottom:44px !important}
  .cj-join .cj-mag{display:none}
  .cj-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  body.single-post #intro .cj-hero-bg,body.single-post #intro .cj-ember,.cj-join::before,.cj-join .cj-mag,body.single-post #intro .page-title{animation:none !important}
  body.single-post .cj-reveal{opacity:1;transform:none;transition:none}
}

ins.adsbygoogle[data-ad-status="unfilled"]{display:none !important;}
body.single-post .entry-content .code-block:has(ins.adsbygoogle[data-ad-status="unfilled"]){margin:0 !important;}
/* kicker now rendered by CSS (no layout jump) */
body.single-post #intro-core::before{content:var(--vj-kicker,"The Village Journal");display:inline-block;margin-bottom:18px;
  font:700 13px/1 "Kameron",serif;letter-spacing:.08em;text-transform:uppercase;color:var(--vj-ink);
  background:var(--vj-lime);padding:9px 14px;box-shadow:4px 4px 0 var(--vj-red);animation:vj-rise .7s .1s both;}
body.single-post #intro .cj-hero-bg{background-image:var(--vj-hero) !important;}
body.single-post .entry-content table{display:block;overflow-x:auto;max-width:100%;}
body.single-post .entry-content img{max-width:100%;height:auto;}
body.single-post .entry-content iframe{max-width:100%;}
body.single-post .entry-content .wp-block-embed-youtube .wp-block-embed__wrapper iframe{width:100%;}
@media (max-width:600px){
  body.single-post #main-core{padding:0 12px !important;}
  body.single-post article.post{padding:22px 18px !important;}
  body.single-post .entry-content .wp-block-gallery figure.wp-block-image{width:100% !important;}
  body.single-post #intro{min-height:300px;}
  body.single-post #nav-below a{font-size:12px;padding:11px 14px;}
}

/* v1.0.1 fixes */
body.single-post .entry-content .cj-join h3{font-family:"Boogaloo",cursive !important;font-weight:400 !important;font-size:clamp(32px,4vw,44px) !important;line-height:1.05 !important;color:var(--vj-lime) !important;margin:0 0 10px !important;}
body.single-post .entry-content .cj-join p{font-size:18px !important;line-height:1.6 !important;font-weight:400;color:#e8f0eb !important;}
body.single-post .entry-content .cj-join p.cj-join-kicker{font:700 13px/1 "Kameron",serif !important;color:var(--vj-sea) !important;}
body.single-post .entry-content .wp-block-gallery figure.wp-block-image{margin:0 !important;}
body.single-post #intro .page-title{overflow-wrap:break-word;max-width:100%;}
@media (max-width:600px){
  body.single-post #intro .page-title{font-size:clamp(24px,7vw,30px) !important;}
  body.single-post #intro-core{padding-left:22px !important;padding-right:22px !important;}
}
@media (max-width:782px){body.admin-bar #cj-progress{top:46px}}
/* hero width fix */
body.single-post #intro .wrap-safari{margin:0 !important;padding:0 !important;width:100% !important;box-sizing:border-box;}
body.single-post #intro-core{width:100% !important;box-sizing:border-box !important;}
/* blank ad fix: hide ad spots Google left empty (e.g. before AdSense approval) */
ins.adsbygoogle[data-adsbygoogle-status="done"]:not([data-ad-status="filled"]){display:none !important;}
body.single-post .entry-content .code-block:has(ins.adsbygoogle[data-adsbygoogle-status="done"]:not([data-ad-status="filled"])){margin:0 !important;}
/* hero photo first paint (beats other site styles) */
html body.single-post #intro{background-image:var(--vj-hero) !important;background-size:cover !important;background-position:center !important;}
