/* ============================================================
   BLOG — מאמרים. David navy/cream + magazine. Builds on base.css
   tokens (--navy/--cream/--line/--ease/--maxw), the section
   primitives (.section--image/.fixed-bg) and the .reveal system.
   The original blog scaffolding lives in events.css (lines ~735+);
   THIS file layers the richer magazine archive cards + the full
   single-post anatomy (meta row, author box, CTA, related, share,
   newsletter) from the Copy Deck §5. No inline styles on blocks.
   ============================================================ */

/* ---- per-page / per-template fixed background images ---- */
.page-articles .fixed-bg,
.blog-hero,
.single-hero{--section-bg:url('../img/bg-cosmic-nebula.jpg');}

/* ============================================================
   ARCHIVE HERO — immersive title hero (richer than the legal one)
   ============================================================ */
.blog-hero{text-align:center;padding-block:clamp(96px,13vw,170px) clamp(64px,8vw,110px);}
.blog-hero-inner{max-width:780px;margin-inline:auto;}
.blog-hero .eyebrow{color:#fff;opacity:.72;margin:0 0 1.1rem;}
.blog-hero h1{
  color:#fff;margin:0 0 1.3rem;
  font-size:clamp(2.2rem,5.2vw,3.4rem);
  text-shadow:0 2px 24px rgba(15,25,37,.45);
}
.blog-hero .lede{
  color:#fff;margin:0 auto;max-width:58ch;
  text-shadow:0 1px 14px rgba(15,25,37,.4);
}

/* ============================================================
   ARCHIVE GRID — magazine post cards (image, category, title,
   excerpt, "קראו עוד"). Reuses .wp-block-query / post-template.
   ============================================================ */
.blog-body{padding-block:clamp(56px,8vw,96px);}
.blog-list{
  max-width:var(--maxw);margin-inline:auto;
  display:grid;gap:clamp(22px,3vw,32px);
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}
.blog-list .wp-block-post{
  background:var(--white);border:1px solid var(--line);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.blog-list .wp-block-post:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(28,40,56,.12);}

/* featured image (cover, fixed ratio) */
.blog-list .wp-block-post-featured-image{
  margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--navy);
}
.blog-list .wp-block-post-featured-image a,
.blog-list .wp-block-post-featured-image img{
  display:block;width:100%;height:100%;
}
.blog-list .wp-block-post-featured-image img{
  object-fit:cover;object-position:center;
  transition:transform .6s var(--ease),filter .45s var(--ease);
  filter:saturate(.94) contrast(1.02);
}
.blog-list .wp-block-post:hover .wp-block-post-featured-image img{transform:scale(1.04);filter:saturate(1);}

/* card body */
.blog-list .blog-card-body{
  padding:clamp(1.3rem,2.6vw,1.7rem);
  display:flex;flex-direction:column;flex:1;gap:.55rem;
}
/* category chip (post-terms) */
.blog-list .wp-block-post-terms{
  font-family:var(--wp--preset--font-family--heading);
  font-size:.74rem;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--muted);margin:0;
}
.blog-list .wp-block-post-terms a{color:var(--muted);text-decoration:none;}
.blog-list .wp-block-post-terms a:hover{color:var(--navy);}
.blog-list .wp-block-post-date{
  color:var(--muted);font-size:.82rem;margin:0;
  font-family:var(--wp--preset--font-family--heading);letter-spacing:.4px;
}
.blog-list .wp-block-post-title{margin:.1rem 0 .2rem;font-size:1.24rem;line-height:1.35;}
.blog-list .wp-block-post-title a{color:var(--navy);text-decoration:none;}
.blog-list .wp-block-post-title a:hover{color:var(--navy-deep);text-decoration:underline;text-underline-offset:3px;}
.blog-list .wp-block-post-excerpt{margin:0;display:flex;flex-direction:column;flex:1;}
.blog-list .wp-block-post-excerpt p{color:var(--muted);font-size:1rem;line-height:1.6;margin:0 0 1rem;}
.blog-list .wp-block-post-excerpt__more-link{
  color:var(--navy);font-weight:600;text-decoration:none;margin-top:auto;align-self:flex-start;
  font-family:var(--wp--preset--font-family--heading);letter-spacing:.4px;
}
.blog-list .wp-block-post-excerpt__more-link:hover{text-decoration:underline;text-underline-offset:3px;}

/* pagination */
.blog-pagination{max-width:var(--maxw);margin:clamp(2.4rem,4vw,3.2rem) auto 0;}
.blog-pagination.wp-block-query-pagination{gap:.5rem;flex-wrap:wrap;}
.blog-pagination :is(a,.wp-block-query-pagination-numbers .page-numbers){
  padding:.45rem .85rem;border:1px solid var(--line);color:var(--navy);text-decoration:none;
  font-family:var(--wp--preset--font-family--heading);letter-spacing:.4px;
  transition:background .25s var(--ease),color .25s var(--ease);
}
.blog-pagination a:hover{background:var(--navy);color:#fff;}
.blog-pagination .wp-block-query-pagination-numbers .current{background:var(--navy);color:#fff;}

/* empty state */
.blog-empty{max-width:620px;margin-inline:auto;text-align:center;}
.blog-empty h2{margin:0 0 1rem;}
.blog-empty p{color:var(--muted);margin:0;}

/* ============================================================
   SINGLE POST — Copy Deck §5 anatomy
   ============================================================ */
.single-hero{text-align:center;padding-block:clamp(88px,12vw,150px) clamp(56px,7vw,96px);}
.single-hero-inner{max-width:820px;margin-inline:auto;}
.single-hero .eyebrow{color:#fff;opacity:.72;margin:0 0 1rem;}
.single-hero .wp-block-post-title{
  color:#fff;margin:0 auto;max-width:24ch;
  font-size:clamp(2rem,4.6vw,3rem);line-height:1.2;
  text-shadow:0 2px 24px rgba(15,25,37,.45);
}
/* meta row in hero: date · category · read time */
.single-meta{
  display:flex;flex-wrap:wrap;gap:.4rem .9rem;justify-content:center;align-items:center;
  margin:1.3rem 0 0;color:rgba(255,255,255,.88);
  font-family:var(--wp--preset--font-family--heading);font-size:.92rem;letter-spacing:.6px;
}
.single-meta > *{margin:0;}
.single-meta .wp-block-post-terms a{color:rgba(255,255,255,.88);text-decoration:none;}
.single-meta .wp-block-post-terms a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.single-meta .single-sep{opacity:.55;}

/* body */
.single-body{padding-block:clamp(56px,8vw,96px);}
.single-article{max-width:760px;margin-inline:auto;}
.single-article > .wp-block-post-featured-image{
  margin:0 0 clamp(1.8rem,3vw,2.6rem);overflow:hidden;background:var(--navy);
}
.single-article > .wp-block-post-featured-image img{
  width:100%;height:auto;display:block;
  box-shadow:0 24px 54px rgba(28,40,56,.18);
}
.single-content{font-size:1.075rem;}
.single-content p{line-height:1.9;margin:0 0 1.3rem;}
.single-content :is(h2,h3,h4){clear:both;}
.single-content h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin:2.6rem 0 .9rem;}
.single-content h3{font-size:clamp(1.15rem,1.9vw,1.35rem);margin:2rem 0 .6rem;}
.single-content a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}
.single-content a:hover{color:var(--navy-deep);}
.single-content img{margin-inline:auto;}
.single-content blockquote{
  border:none;border-inline-start:3px solid var(--navy);
  margin:1.8rem 0;padding:.3rem 0 .3rem 1.3rem;
  color:var(--navy-deep);font-style:italic;font-size:1.12rem;line-height:1.8;
}
.single-content ul,.single-content ol{margin:0 0 1.3rem;padding-inline-start:1.4rem;}
.single-content li{margin-bottom:.5rem;line-height:1.7;}

/* migration draft note — visible scaffolding at top of migrated drafts */
.single-content .migration-note,
.migration-note{
  background:#fff3cd;border:1px solid #b8893a;border-inline-start:4px solid #b8893a;
  color:#5a3e00;padding:clamp(.9rem,2vw,1.2rem) clamp(1rem,2.4vw,1.4rem);
  margin:0 0 1.8rem;font-size:.96rem;line-height:1.65;
}

/* ---- the §5 add-on blocks share one constrained column ---- */
.single-aside{max-width:760px;margin-inline:auto;}

/* author box */
.author-box{
  display:flex;gap:clamp(1rem,2.5vw,1.5rem);align-items:center;
  background:var(--white);border:1px solid var(--line);
  padding:clamp(1.2rem,3vw,1.7rem);
  margin:clamp(2.4rem,4vw,3.2rem) auto 0;
}
.author-box .author-photo{flex:0 0 auto;margin:0;width:84px;}
.author-box .author-photo img{
  width:84px;height:84px;border-radius:50%;object-fit:cover;background:var(--light);
}
.author-box .author-text{margin:0;}
.author-box .author-text strong{
  display:block;font-family:var(--wp--preset--font-family--heading);
  font-size:1.08rem;letter-spacing:.3px;margin-bottom:.25rem;
}
.author-box .author-text p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.6;}
.author-box .author-text a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}

/* CTA block — WhatsApp + relevant service */
.single-cta{
  background:var(--navy);color:#fff;text-align:center;
  padding:clamp(2rem,5vw,3rem) clamp(1.2rem,4vw,2.4rem);
  margin:clamp(2.4rem,4vw,3.2rem) auto 0;
}
.single-cta :is(h2,h3){color:#fff;margin:0 0 .9rem;}
.single-cta p{color:rgba(255,255,255,.9);max-width:54ch;margin:0 auto 1.6rem;}
.single-cta .wp-block-buttons{justify-content:center;}
.single-cta .ev-crosslinks{margin-top:1.4rem;display:flex;gap:8px 22px;justify-content:center;flex-wrap:wrap;font-size:.96rem;}
.single-cta .ev-crosslinks a{color:#fff;border-bottom:1px solid var(--line-light);padding-bottom:1px;}
.single-cta .ev-crosslinks a:hover{border-color:#fff;}

/* share buttons */
.single-share{
  margin:clamp(2.2rem,3.5vw,2.8rem) auto 0;text-align:center;
}
.single-share .share-label{
  font-family:var(--wp--preset--font-family--heading);
  font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);
  margin:0 0 .9rem;
}
.single-share .share-links{
  display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0;
}
.single-share .share-links li{margin:0;}
.single-share .share-links a{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:44px;padding:.55rem 1.2rem;
  border:1px solid var(--line);color:var(--navy);text-decoration:none;background:var(--white);
  font-family:var(--wp--preset--font-family--heading);font-size:.9rem;letter-spacing:.5px;
  transition:background .25s var(--ease),color .25s var(--ease),transform .2s var(--ease);
  cursor:pointer;
}
.single-share .share-links a:hover{background:var(--navy);color:#fff;transform:translateY(-2px);}
.single-share .share-links a:focus-visible{outline:3px solid var(--navy-deep);outline-offset:3px;}

/* related articles */
.single-related{
  max-width:var(--maxw);margin-inline:auto;
  margin-block:clamp(3rem,5vw,4.5rem) 0;
}
.single-related .section-head{text-align:center;margin:0 auto clamp(28px,4vw,42px);}
.single-related .section-head h2{margin:0;font-size:clamp(1.5rem,2.6vw,1.9rem);}
.single-related .blog-list{margin-top:0;}

/* newsletter invite (single) — soft cream panel */
.single-news{
  max-width:760px;margin:clamp(3rem,5vw,4.2rem) auto 0;text-align:center;
  background:var(--cream);border:1px solid var(--line);
  padding:clamp(1.8rem,4vw,2.6rem) clamp(1.2rem,4vw,2.4rem);
}
.single-news h2{margin:0 0 .8rem;font-size:clamp(1.35rem,2.4vw,1.7rem);}
.single-news p{color:var(--muted);max-width:52ch;margin:0 auto 1.5rem;}
.single-news .wp-block-buttons{justify-content:center;}

/* back link */
.single-back{max-width:760px;margin:clamp(2.6rem,4vw,3.4rem) auto 0;text-align:center;}
.single-back a{
  color:var(--navy);text-decoration:none;
  font-family:var(--wp--preset--font-family--heading);letter-spacing:.5px;
}
.single-back a:hover{text-decoration:underline;text-underline-offset:3px;}

/* series landing page hero background */
.page-erotic-trance-series .fixed-bg{--section-bg:url('../img/kink-shibari.jpg');}

/* ============================================================
   FEATURED SERIES BANNER — invites readers into the flagship series
   ============================================================ */
.blog-series-banner{
  max-width:var(--maxw);margin:0 auto clamp(28px,4vw,46px);
  display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;
  background:linear-gradient(110deg,var(--navy),var(--navy-deep,#0f1924));
  color:#fff;text-decoration:none;padding:clamp(1rem,2.4vw,1.4rem) clamp(1.2rem,3vw,1.8rem);
  border-radius:8px;transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.blog-series-banner:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(28,40,56,.22);}
.blog-series-banner .bsb-eyebrow{
  font-family:var(--wp--preset--font-family--heading);font-size:.74rem;letter-spacing:1.6px;
  text-transform:uppercase;color:#e8c98c;
}
.blog-series-banner .bsb-title{font-family:var(--wp--preset--font-family--heading);font-size:1.1rem;color:#fff;flex:1;min-width:200px;}
.blog-series-banner .bsb-cta{font-size:.95rem;color:#fff;opacity:.92;white-space:nowrap;}

/* series strip — 3 featured series cards atop the archive */
.blog-series-strip{max-width:var(--maxw);margin:0 auto clamp(28px,4vw,46px);}
.blog-series-strip .bss-label{
  display:block;text-align:center;margin:0 0 .9rem;
  font-family:var(--wp--preset--font-family--heading);font-size:.78rem;
  letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);
}
.blog-series-strip .bss-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.blog-series-strip .bss-card{
  display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.25rem;
  background:linear-gradient(115deg,var(--navy),var(--navy-deep,#0f1924));
  color:#fff;text-decoration:none;border-radius:8px;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.blog-series-strip .bss-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(28,40,56,.22);}
.blog-series-strip .bss-name{font-family:var(--wp--preset--font-family--heading);font-size:1.1rem;color:#fff;}
.blog-series-strip .bss-meta{font-size:.85rem;color:#e8c98c;}

/* ============================================================
   FILTER BAR — category pills atop the archive (+ tag/category pages)
   ============================================================ */
.blog-filter{
  max-width:var(--maxw);margin:0 auto clamp(28px,4vw,46px);
  display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;
}
.blog-filter__pill{
  padding:.5rem 1.15rem;border:1px solid var(--line);border-radius:999px;
  color:var(--navy);text-decoration:none;background:var(--white);
  font-family:var(--wp--preset--font-family--heading);font-size:.92rem;letter-spacing:.3px;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease);
}
.blog-filter__pill:hover{background:var(--cream);border-color:var(--navy);transform:translateY(-1px);}
.blog-filter__pill.is-current{background:var(--navy);color:#fff;border-color:var(--navy);}

/* ============================================================
   COHESIVE CARD IMAGERY — unify mixed-source featured images with a
   soft navy wash + slight desaturation; bloom to full colour on hover.
   ============================================================ */
.blog-list .wp-block-post-featured-image{position:relative;}
.blog-list .wp-block-post-featured-image::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(28,40,56,.18),rgba(28,40,56,.5));
  mix-blend-mode:multiply;opacity:.6;transition:opacity .45s var(--ease);
}
.blog-list .wp-block-post:hover .wp-block-post-featured-image::after{opacity:.22;}
.blog-list .wp-block-post-featured-image img{filter:saturate(.62) contrast(1.03);}
.blog-list .wp-block-post:hover .wp-block-post-featured-image img{filter:saturate(1) contrast(1.02);}

/* ============================================================
   SERIES NAV — injected at the top of posts that belong to a series
   ============================================================ */
.single-content .series-nav{
  background:var(--cream);border:1px solid var(--line);border-inline-start:4px solid var(--navy);
  padding:clamp(1rem,2.5vw,1.45rem) clamp(1.1rem,2.6vw,1.5rem);margin:0 0 2.2rem;
}
.single-content .series-nav .series-label{
  font-family:var(--wp--preset--font-family--heading);font-size:.78rem;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--muted);margin:0 0 .4rem;
}
.single-content .series-nav .series-title{
  font-family:var(--wp--preset--font-family--heading);font-weight:600;margin:0 0 .7rem;
  color:var(--navy);font-size:1.05rem;
}
.single-content .series-nav .series-links{
  display:flex;gap:.4rem 1.3rem;flex-wrap:wrap;margin:0;font-size:.95rem;
}
.single-content .series-nav .series-links a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;}
/* same block injected again at the END of a series post: separate it from the
   article body above (it sits before tags/author/CTA) */
.single-content .series-nav--bottom{margin:2.6rem 0 0;}

/* tags row on the single post */
.single-tags{
  max-width:760px;margin:clamp(1.8rem,3vw,2.4rem) auto 0;
  font-family:var(--wp--preset--font-family--heading);font-size:.9rem;color:var(--muted);
}
.single-tags .wp-block-post-terms__separator{display:none;}
.single-tags a{
  display:inline-block;color:var(--navy);text-decoration:none;
  border:1px solid var(--line);border-radius:999px;padding:.22rem .8rem;
  margin:0 0 .4rem;margin-inline-end:.4rem;transition:background .25s var(--ease);
}
.single-tags a:hover{background:var(--cream);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:600px){
  .author-box{flex-direction:column;text-align:center;}
  .single-meta{font-size:.85rem;}
}
@media (prefers-reduced-motion:reduce){
  .blog-list .wp-block-post,
  .blog-list .wp-block-post-featured-image img,
  .single-share .share-links a{transition:none;}
  .blog-list .wp-block-post:hover{transform:none;}
  .blog-list .wp-block-post:hover .wp-block-post-featured-image img{transform:none;}
}
