/* =========================================================
   VAMPIRE GLOW - SINGLE POST
   Direction: Vampire Glow Editorial (variance .3, density .3, motion .15)
   Ink on white, gold as brand mark, berry for interaction,
   Inter Tight tight-set, zero radius.
   ========================================================= */
.single-post{
  --a-measure:640px;/* ~70 characters at 17px Inter */
  --a-ink:var(--vg-ink,#1A1A1A);
  --a-soft:var(--vg-ink-soft,#3A3A3A);
  --a-muted:var(--vg-secondary,#6B6B6B);
  --a-rule:var(--vg-neutral-200,#E6E6E6);
  --a-gold:var(--vg-accent,#E8C568);
  --a-berry:var(--vg-sale,#A8324A);
  --a-surface:var(--vg-surface-2,#FAFAFA);
  --a-display:var(--vg-font-display,'Inter Tight',system-ui,sans-serif);
  --a-body:var(--vg-font-body,'Inter',-apple-system,sans-serif);
}

/* ---- Shell ---- */
.single-post .content-page.sidebar-position-without .content{width:100%;max-width:100%;flex:0 0 100%}
.single-post .post-single{padding:0;border:0}
.single-post .content-article.entry-content{max-width:var(--a-measure);margin-inline:auto}

/* ---- Header: lead image only. The theme byline is folded into the kicker,
   which sits directly above the title inside the content. ---- */
.single-post .post-header{margin-bottom:0}
.single-post .post-header .post-heading{display:none}
.single-post .post-header .wp-picture{margin:0 0 6px}
.single-post .post-header .wp-picture img{width:100%;height:auto;display:block;border-radius:0;max-height:520px;object-fit:cover}

/* ---- Kicker ---- */
.single-post .vg-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px;padding-top:18px;border-top:2px solid var(--a-gold);font-family:var(--a-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.single-post .vg-kicker__cat{color:var(--a-berry)!important;font-weight:700;text-decoration:none}
.single-post .vg-kicker__cat:hover{color:var(--a-ink)!important;text-decoration:underline;text-underline-offset:3px}
.single-post .vg-kicker__meta{color:var(--a-muted);font-weight:500;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.single-post .vg-kicker__author{color:var(--a-ink)!important;font-weight:700;text-decoration:none;border-bottom:1px solid var(--a-gold)}
.single-post .vg-kicker__author:hover{color:var(--a-berry)!important;border-bottom-color:var(--a-berry)}
.single-post .vg-kicker__dot{width:3px;height:3px;background:var(--a-muted);display:inline-block;border-radius:9999px}

/* ---- Article title ---- */
.single-post .entry-content > h1,
.single-post .post-heading .entry-title{font-family:var(--a-display);font-weight:800;text-transform:none!important;letter-spacing:-.022em;line-height:1.06;font-size:clamp(30px,4.4vw + 12px,52px);color:var(--a-ink);margin:0 0 18px}
.single-post .post-heading .entry-title{max-width:22ch}

/* ---- Byline ---- */
.single-post .post-heading .meta-post{font-family:var(--a-body);font-size:13.5px;color:var(--a-muted);border-top:1px solid var(--a-rule);padding-top:14px;margin-top:4px}
.single-post .post-single .meta-post a{display:inline!important;color:var(--a-ink)!important;font-weight:600;text-decoration:none}
.single-post .post-single .meta-post a:hover{color:var(--a-berry)!important;text-decoration:underline;text-underline-offset:3px}
.single-post .post-single .meta-post span{display:inline!important}
.single-post .post-single .meta-post time{display:inline!important}

/* ---- Body copy ----
   The theme sets html{font-size:13px} and body{text-transform:capitalize},
   so this block works in px/em and resets the casing rather than inheriting
   a 19% size reduction and Title Case running text. */
.single-post .entry-content{font-family:var(--a-body);font-size:17px;line-height:1.78;color:var(--a-soft)}
.single-post .entry-content,
.single-post .entry-content p,
.single-post .entry-content li,
.single-post .entry-content td,
.single-post .entry-content th,
.single-post .entry-content blockquote,
.single-post .entry-content h1,
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4,
.single-post .entry-content a,
.single-post .author-info .media-heading,
.single-post .author-info .author-desc,
.single-post .related-posts .post-heading h2,
.single-post .related-posts .post-heading h3,
.single-post .related-posts .content-article{text-transform:none!important}
.single-post .entry-content p{margin:0 0 1.35em;font-size:1em!important;line-height:1.78}
.single-post .entry-content li{font-size:1em}
.single-post .entry-content > p:first-of-type{font-size:1.15em!important;line-height:1.66;color:var(--a-ink)}
.single-post .entry-content strong{color:var(--a-ink);font-weight:650}
.single-post .entry-content p a,
.single-post .entry-content li a{color:var(--a-berry);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(168,50,74,.4);transition:text-decoration-color .15s ease,color .15s ease}
.single-post .entry-content p a:hover,
.single-post .entry-content li a:hover{text-decoration-color:var(--a-berry);color:#8A2A3D}

/* ---- Section headings ---- */
.single-post .entry-content h2{font-family:var(--a-display);font-weight:750;text-transform:none!important;letter-spacing:-.015em;line-height:1.16;font-size:clamp(23px,1.3vw + 17px,31px);color:var(--a-ink);margin:2.4em 0 .62em;padding-top:.72em;border-top:2px solid var(--a-gold);scroll-margin-top:96px}
.single-post .entry-content h3{font-family:var(--a-display);font-weight:700;text-transform:none!important;letter-spacing:-.01em;line-height:1.28;font-size:clamp(18px,.5vw + 16px,21px);color:var(--a-ink);margin:1.9em 0 .5em;scroll-margin-top:96px}
.single-post .entry-content h4{font-family:var(--a-display);font-weight:650;text-transform:none!important;font-size:17px;color:var(--a-soft);margin:1.6em 0 .4em}

/* ---- Lists ---- */
.single-post .entry-content ul,
.single-post .entry-content ol{margin:0 0 1.45em;padding-left:0;list-style:none}
.single-post .entry-content ul > li,
.single-post .entry-content ol > li{position:relative;padding-left:1.6em;margin-bottom:.58em}
.single-post .entry-content ul > li::before{content:'';position:absolute;left:.1em;top:.72em;width:7px;height:7px;background:var(--a-gold)}
.single-post .entry-content ol{counter-reset:vgol}
.single-post .entry-content ol > li{counter-increment:vgol}
.single-post .entry-content ol > li::before{content:counter(vgol);position:absolute;left:0;top:.06em;font-family:var(--a-display);font-weight:700;font-size:.82em;color:var(--a-berry)}

/* ---- Table of contents ----
   Specificity must beat .single-post .entry-content li a (0,2,2),
   so these selectors include .entry-content and li. ---- */
.single-post .entry-content .wp-block-rank-math-toc-block{margin:2em 0 2.4em;padding:20px 22px;background:var(--a-surface);border:1px solid var(--a-rule);border-left:3px solid var(--a-gold);border-radius:0}
.single-post .entry-content .wp-block-rank-math-toc-block h2{border:0!important;padding:0!important;margin:0 0 14px!important;font-size:11px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--a-muted)!important;font-weight:700!important;line-height:1.4!important}
.single-post .entry-content .wp-block-rank-math-toc-block ul{margin:0;padding:0;list-style:none}
.single-post .entry-content .wp-block-rank-math-toc-block li{padding:0;margin:0;font-size:inherit}
.single-post .entry-content .wp-block-rank-math-toc-block li::before{display:none!important;content:none!important}
.single-post .entry-content .wp-block-rank-math-toc-block li a{display:block;padding:7px 0 7px 14px;border-left:2px solid transparent;font-family:var(--a-body);font-size:14px;line-height:1.4;font-weight:400;color:var(--a-soft)!important;text-decoration:none!important;text-decoration-color:transparent!important;transition:color .15s ease,border-color .15s ease}
.single-post .entry-content .wp-block-rank-math-toc-block li a:hover{color:var(--a-ink)!important;border-left-color:var(--a-gold)}
.single-post .entry-content .wp-block-rank-math-toc-block li a.is-current{color:var(--a-berry)!important;border-left-color:var(--a-berry);font-weight:600}
.single-post .vg-toc-toggle{display:none;width:100%;margin-top:10px;padding:9px 0;background:none;border:0;border-top:1px solid var(--a-rule);font-family:var(--a-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--a-berry);cursor:pointer;text-align:left}

/* ---- Figures ---- */
.single-post .entry-content figure,
.single-post .entry-content .wp-block-image{margin:2em 0}
.single-post .entry-content img{width:100%;height:auto;display:block;border-radius:0}
.single-post .entry-content figcaption{font-family:var(--a-body);font-size:14px;color:var(--a-muted);padding-top:9px;border-top:1px solid var(--a-rule);margin-top:10px}

/* ---- Quotes ---- */
.single-post .entry-content blockquote{margin:2em 0;padding:4px 0 4px 22px;border:0;border-left:3px solid var(--a-berry);background:none;font-family:var(--a-display);font-weight:500;font-size:20px;line-height:1.42;letter-spacing:-.012em;color:var(--a-ink)}
.single-post .entry-content blockquote p{margin-bottom:.5em}

/* ---- Tables ---- */
.single-post .entry-content table{width:100%;border-collapse:collapse;margin:1.8em 0;font-family:var(--a-body);font-size:15px;border-radius:0}
.single-post .entry-content table th{background:var(--a-surface);text-align:left;font-family:var(--a-display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--a-ink);padding:12px 14px;border-bottom:2px solid var(--a-gold)}
.single-post .entry-content table td{padding:12px 14px;border-bottom:1px solid var(--a-rule);color:var(--a-soft);vertical-align:top}
.single-post .entry-content table tr:last-child td{border-bottom:0}

/* ---- Tags and share ---- */
.single-post .single-tags{max-width:var(--a-measure);margin:2.4em auto 0;font-family:var(--a-body);font-size:15px;color:var(--a-muted)}
.single-post .share-post{max-width:var(--a-measure);margin:1.6em auto 0;padding:18px 0;border-top:1px solid var(--a-rule);border-bottom:1px solid var(--a-rule)}
.single-post .share-post .share-title{font-family:var(--a-display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--a-muted);font-weight:700;margin-right:12px}

/* ---- Author box: restored and restyled ---- */
.single-post .about-author-title,
.single-post .author-info,
.single-post [class*='about-author']{display:block!important}
.single-post .about-author-title{max-width:var(--a-measure);margin:2.6em auto .9em;padding:0;border:0;font-family:var(--a-display);font-size:11px!important;letter-spacing:.16em;text-transform:uppercase;color:var(--a-muted)!important;font-weight:700}
.single-post .about-author-title span{background:none!important;padding:0!important}
.single-post .author-info{max-width:var(--a-measure);margin:0 auto;display:flex!important;gap:20px;align-items:flex-start;padding:22px;background:var(--a-surface);border:1px solid var(--a-rule);border-left:3px solid var(--a-gold)}
.single-post .author-info .pull-left{flex:0 0 auto;float:none}
.single-post .author-info img{width:72px;height:72px;object-fit:cover;border-radius:9999px;display:block}
.single-post .author-info .media-body{flex:1 1 auto;min-width:0}
.single-post .author-info .author-name{display:none}
.single-post .author-info .media-heading{font-family:var(--a-display);font-size:18px;font-weight:700;text-transform:none;letter-spacing:-.01em;color:var(--a-ink);margin:0 0 6px}
.single-post .author-info .media-heading a{color:var(--a-ink);text-decoration:none}
.single-post .author-info .author-desc{font-family:var(--a-body);font-size:15px;line-height:1.62;color:var(--a-soft);margin:0 0 10px}
.single-post .author-info .author-link{font-family:var(--a-display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--a-berry);text-decoration:none;border-bottom:1px solid transparent}
.single-post .author-info .author-link:hover{border-bottom-color:var(--a-berry)}

/* ---- Prev / next ---- */
.single-post .project-links,
.single-post .post-nav{max-width:var(--a-measure);margin-inline:auto}

/* ---- Related posts ---- */
.single-post .related-posts{margin-top:56px}
.single-post .related-posts > .title,
.single-post .related-posts h3.title{font-family:var(--a-display)!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.16em;font-size:11px!important;color:var(--a-muted)!important;text-align:left;max-width:var(--a-measure);margin:0 auto 22px!important}
.single-post .related-posts .swiper-slide{height:auto!important}
.single-post .related-posts .swiper-wrapper{align-items:stretch}
.single-post .related-posts .blog-post{margin:0}
.single-post .related-posts .blog-post > div{background:#fff;border:1px solid var(--a-rule);border-radius:0;overflow:hidden;height:100%;display:flex;flex-direction:column;transition:border-color .2s ease}
.single-post .related-posts .blog-post > div:hover{border-color:var(--a-gold);box-shadow:none;transform:none}
.single-post .related-posts .wp-picture{position:relative;margin:0;overflow:hidden;aspect-ratio:16/10;background:var(--a-surface);border-radius:0}
.single-post .related-posts .wp-picture a{display:block;width:100%;height:100%}
.single-post .related-posts .wp-picture img{width:100%;height:100%;object-fit:cover}
.single-post .related-posts .blog-mask{background:rgba(26,26,26,.28)!important}
.single-post .related-posts .meta-post-timeline{position:absolute;top:10px;left:10px;z-index:2;background:rgba(26,26,26,.92);color:#fff;border:0!important;border-radius:0;padding:6px 9px;min-width:0;line-height:1;text-align:center;font-family:var(--a-display);box-shadow:none}
.single-post .related-posts .meta-post-timeline .time-day{display:block;font-size:14px;font-weight:700;color:#fff}
.single-post .related-posts .meta-post-timeline .time-mon{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--a-gold);margin-top:2px}
.single-post .related-posts .grid-post-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1 1 auto}
.single-post .related-posts .post-heading{margin:0}
.single-post .related-posts .post-heading h2,
.single-post .related-posts .post-heading h3{margin:0;font-family:var(--a-display);font-weight:700;font-size:15.5px;line-height:1.32;letter-spacing:-.01em;text-transform:none;border:0;padding:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.single-post .related-posts .post-heading a{color:var(--a-ink);text-decoration:none;transition:color .2s}
.single-post .related-posts .post-heading a:hover{color:var(--a-berry)}
.single-post .related-posts .meta-post{display:none!important}
.single-post .related-posts .content-article{margin:9px 0 0;font-size:13px;line-height:1.55;color:var(--a-muted);max-width:none}

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Phone */
@media (max-width:767px){
  .single-post .container{padding-left:18px;padding-right:18px}
  .single-post .entry-content{font-size:16.5px;line-height:1.74}
  .single-post .entry-content > p:first-of-type{font-size:1.12em!important}
  .single-post .post-header{margin-bottom:22px}
  .single-post .post-header .wp-picture img{max-height:260px}
  .single-post .entry-content h2{margin-top:2em;padding-top:.6em}
  .single-post .vg-kicker{font-size:10px;letter-spacing:.12em}
  .single-post .wp-block-rank-math-toc-block{padding:16px 16px 6px;margin:1.6em 0 2em}
  .single-post .wp-block-rank-math-toc-block ul{max-height:0;overflow:hidden;transition:max-height .25s ease}
  .single-post .wp-block-rank-math-toc-block.is-open ul{max-height:1600px}
  .single-post .vg-toc-toggle{display:block}
  .single-post .entry-content table{display:block;overflow-x:auto;white-space:nowrap;font-size:14px}
  .single-post .entry-content table th,
  .single-post .entry-content table td{padding:10px 12px}
  .single-post .author-info{flex-direction:column;gap:14px;padding:18px}
  .single-post .author-info img{width:58px;height:58px}
  .single-post .entry-content blockquote{font-size:18px;padding-left:16px}
}

/* Tablet */
@media (min-width:768px) and (max-width:1023px){
  .single-post .container{padding-left:32px;padding-right:32px}
  .single-post .entry-content{font-size:17px}
  .single-post .post-header .wp-picture img{max-height:380px}
}

/* Laptop and up: contents become a real left rail.
   Built by JS into .vg-toc-rail + .vg-article-body, because CSS grid cannot
   span one auto-placed child across an unknown number of implicit rows. */
@media (min-width:1200px){
  /* XStore wraps the page in .template-container{overflow:hidden}, which makes it
     a scroll container and silently disables position:sticky for every descendant.
     overflow:clip still clips, but does not create a scroll container. */
  .single-post .template-container{overflow:visible;overflow-x:clip}
  .single-post .content-article.entry-content.vg-has-rail{display:flex;align-items:flex-start;justify-content:center;gap:0 72px;max-width:none}
  .single-post .vg-toc-rail{flex:0 0 250px;width:250px;align-self:stretch;position:relative}
  .single-post .vg-article-body{flex:0 1 640px;min-width:0;max-width:640px}
  .single-post .vg-toc-rail .wp-block-rank-math-toc-block{position:sticky;top:110px;margin:0;padding:0 10px 0 0;background:none;border:0;max-height:calc(100vh - 170px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--a-rule) transparent}
  .single-post .vg-toc-rail .wp-block-rank-math-toc-block h2{margin:0 0 14px!important;padding:0 0 11px!important;border-bottom:2px solid var(--a-gold)!important}
  .single-post .vg-toc-rail .wp-block-rank-math-toc-block li a{font-size:13.5px;line-height:1.38;padding:6px 0 6px 13px}
  .single-post .vg-toc-rail .wp-block-rank-math-toc-block::-webkit-scrollbar{width:3px}
  .single-post .vg-toc-rail .wp-block-rank-math-toc-block::-webkit-scrollbar-track{background:transparent}
  .single-post .vg-toc-rail .wp-block-rank-math-toc-block::-webkit-scrollbar-thumb{background:var(--a-rule)}
}

/* Large desktop */
@media (min-width:1500px){
  .single-post .content-article.entry-content.vg-has-rail{gap:0 96px}
  .single-post .vg-toc-rail{flex:0 0 270px;width:270px}
  .single-post .vg-article-body{flex:0 1 680px;max-width:680px}
}

@media (prefers-reduced-motion:reduce){
  .single-post *,.single-post *::before,.single-post *::after{transition:none!important;animation:none!important}
}
