/* ============================================================================
 * Connect Blog Archive — connect-blog.css v1.0
 * Renders the /blog/ posts archive (home.php, WP Posts page ID 83).
 * Depends on connect-home.css for shared brand atoms:
 *   :root tokens, .wrap/.pad/.bg-surface/.sr-only, .noise, .cursor-*,
 *   .skip-link, .btn-cyber/.btn-ghost, nav, footer base, .reveal base,
 *   .eyebrow/.sec-h/.hw/.gx base, @keyframes up.
 * This file adds ONLY blog-specific layout + overrides. No #FFFFFF fill.
 * No pink. No teal. Tokens verbatim from 01-brand-tokens.md.
 * ========================================================================== */

/* ── Reveal stagger (blog grid) ─────────────────────────────────── */
.post-grid .reveal:nth-of-type(2){transition-delay:.08s}
.post-grid .reveal:nth-of-type(3){transition-delay:.16s}
.post-grid .reveal:nth-of-type(4){transition-delay:.08s}
.post-grid .reveal:nth-of-type(5){transition-delay:.16s}
.post-grid .reveal:nth-of-type(6){transition-delay:.24s}
.post-grid .reveal:nth-of-type(7){transition-delay:.16s}
.post-grid .reveal:nth-of-type(8){transition-delay:.24s}

/* ── Typography overrides (blog) ───────────────────────────────── */
.blog-hero .eyebrow{margin-bottom:1.2rem}
.blog-content .eyebrow{display:inline-block;margin-bottom:.9rem}
.cta-sec .eyebrow{margin-bottom:1rem}
.sec-h{font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(2rem,4.4vw,3.2rem);line-height:.98;letter-spacing:-.03em;
  text-transform:uppercase;color:var(--w);margin:0;text-wrap:balance;
  overflow-wrap:anywhere;min-width:0}
.sec-h .hw{font-size:1.06em;text-transform:none;margin-right:.04em}

/* ── HERO ──────────────────────────────────────────────────────── */
.hero{position:relative;padding:9.5rem 0 5.5rem;overflow:hidden;
  background:radial-gradient(110% 90% at 50% 0%, #FFFDF8 0%, var(--base) 60%)}
.hero .wrap{position:relative;z-index:2}
.hero-shapes-left{
  position:absolute;top:8%;left:1%;
  width:340px;max-width:46vw;
  opacity:.07;pointer-events:none;z-index:1;color:var(--neon);
}
@media(max-width:920px){.hero-shapes-left{display:none}}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3.5rem;align-items:center}
.hero-copy{min-width:0}
.blog-hero h1{
  font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(2.9rem,6.2vw,5.4rem);line-height:.98;letter-spacing:-.03em;
  text-transform:uppercase;color:var(--w);margin:0 0 1.6rem;
  overflow-wrap:anywhere;min-width:0;
}
.blog-hero h1 .line{display:block;overflow:hidden}
.js .blog-hero h1 .ln{display:inline-block;transform:translateY(108%);
  animation:up .9s cubic-bezier(.16,1,.3,1) forwards}
.blog-hero h1 .hw{font-size:1.08em;margin-right:.06em;text-transform:none}
.hero-sub{font-family:'Outfit',sans-serif;font-weight:400;font-size:clamp(1.05rem,1.6vw,1.2rem);
  line-height:1.7;color:var(--w70);max-width:540px;margin:0 0 2.2rem}
.hero-ctas{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}

/* ── TRUST STRIP ───────────────────────────────────────────────── */
.trust{border-top:var(--bd) solid var(--line);border-bottom:var(--bd) solid var(--line);padding:1.8rem 0}
.trust-row{display:flex;align-items:center;gap:3rem;flex-wrap:wrap;justify-content:center}
.trust-item{display:flex;align-items:center;gap:.6rem;font-family:'Space Grotesk',sans-serif;
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--w50)}
.trust-item svg{width:16px;height:16px;stroke:var(--neon);stroke-width:2;fill:none;flex-shrink:0}

/* ── BLOG LAYOUT ────────────────────────────────────────────────── */
.blog-content{background:var(--base)}
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3.2rem;align-items:start}
.blog-main{min-width:0}

/* ── Category chips ─────────────────────────────────────────────── */
.cat-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.8rem}
.cat-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;
  border-radius:999px;background:var(--elev);border:var(--bd) solid var(--line);
  font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:.82rem;
  letter-spacing:.04em;color:var(--w70);text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background .25s,color .25s,border-color .25s,transform .25s;min-height:36px}
.cat-chip:hover{border-color:var(--neon-border);color:var(--neon);transform:translateY(-1px)}
.cat-chip.is-active{background:var(--neon);color:#231A0A;border-color:var(--neon)}
.chip-count{font-size:.7rem;font-weight:700;opacity:.75;
  background:rgba(86,63,37,.08);padding:.1rem .45rem;border-radius:999px}
.cat-chip.is-active .chip-count{background:rgba(35,26,10,.15);color:#231A0A;opacity:1}

/* ── Featured post card ─────────────────────────────────────────── */
.post-featured{
  display:grid;grid-template-columns:1.05fr 1fr;gap:0;
  background:var(--elev);border:var(--bd) solid var(--line);border-radius:var(--r);
  overflow:hidden;margin-bottom:4rem;transition:border-color .4s,transform .4s,box-shadow .4s;
  min-height:340px;
}
.post-featured:hover,.post-featured:focus-within{
  border-color:var(--neon-border);transform:translateY(-5px);
  box-shadow:0 14px 40px rgba(86,63,37,.10),inset 0 0 22px var(--neon-dim);
}
.post-featured .post-card-media{position:relative;overflow:hidden;min-height:340px;
  background:linear-gradient(135deg,var(--surface),var(--elev))}
.post-featured .post-card-media img{width:100%;height:100%;object-fit:cover;
  opacity:.9;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s}
.post-featured:hover .post-card-media img,.post-featured:focus-within .post-card-media img{
  transform:scale(1.04);opacity:1}
.post-featured .post-card-body{padding:2.6rem 2.5rem;display:flex;flex-direction:column;justify-content:center}
.post-featured h2{font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.12;letter-spacing:-.02em;
  color:var(--w);margin:0 0 1rem;text-wrap:balance}
.post-featured h2 a{color:inherit;text-decoration:none}
.post-featured h2 a:hover{color:var(--neon)}
.post-featured .post-excerpt{font-family:'Outfit',sans-serif;font-size:1.02rem;
  line-height:1.7;color:var(--w70);margin:0 0 1.6rem}
.post-flag{position:absolute;top:1rem;right:1rem;z-index:2;
  background:var(--neon);color:#231A0A;
  font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.38rem .85rem;border-radius:999px;box-shadow:0 4px 14px rgba(35,26,10,.18)}

/* ── Archive section head ───────────────────────────────────────── */
.archive-head{margin:0 0 2.2rem}

/* ── Post card (grid) ───────────────────────────────────────────── */
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem}
.post-card{
  background:var(--elev);border:var(--bd) solid var(--line);border-radius:var(--r);
  overflow:hidden;display:flex;flex-direction:column;min-width:0;
  transition:border-color .4s,transform .4s,box-shadow .4s;
}
.post-card:hover,.post-card:focus-within{
  border-color:var(--neon-border);transform:translateY(-5px);
  box-shadow:0 14px 40px rgba(86,63,37,.10),inset 0 0 22px var(--neon-dim);
}
.post-card-media{position:relative;overflow:hidden;aspect-ratio:3/2;display:block;
  background:linear-gradient(135deg,var(--surface),var(--elev))}
.post-card-media::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(86,63,37,.22),rgba(86,63,37,.06) 45%,transparent 65%)}
.post-card-media img{width:100%;height:100%;object-fit:cover;opacity:.88;
  transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s}
.post-card:hover .post-card-media img,.post-card:focus-within .post-card-media img{
  transform:scale(1.06);opacity:1}
.post-cat-badge{position:absolute;top:1rem;left:1rem;z-index:2;
  background:rgba(247,242,233,.92);backdrop-filter:blur(6px);
  color:var(--neon);font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.35rem .8rem;border-radius:999px;border:var(--bd) solid var(--neon-border);
  transition:background .25s,color .25s}
.post-card:hover .post-cat-badge,.post-card:focus-within .post-cat-badge{
  background:var(--neon);color:#231A0A}
.post-card-body{padding:1.5rem 1.6rem 1.6rem;display:flex;flex-direction:column;flex:1;min-width:0}
.post-card h3{font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:1.18rem;line-height:1.28;letter-spacing:-.01em;color:var(--w);
  margin:0 0 .7rem;text-wrap:pretty}
.post-card h3 a{color:inherit;text-decoration:none;transition:color .25s}
.post-card h3 a:hover{color:var(--neon)}
.post-excerpt{font-family:'Outfit',sans-serif;font-size:.95rem;line-height:1.65;
  color:var(--w70);margin:0 0 1.2rem;display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:3;line-clamp:3;overflow:hidden;flex:1}
.post-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  font-family:'Space Grotesk',sans-serif;font-size:.75rem;letter-spacing:.04em;
  color:var(--w50);margin-top:auto}
.post-meta .byline{font-weight:500;color:var(--w70)}
.post-meta time{font-weight:500}
.meta-dot{width:4px;height:4px;border-radius:50%;background:var(--neon);opacity:.6;flex-shrink:0}
.read-more{color:var(--w);font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  font-size:.72rem;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;
  transition:color .25s,gap .25s}
.read-more:hover{color:var(--neon);gap:.7rem}
.read-more .a{color:var(--neon)}

/* ── Pagination ──────────────────────────────────────────────────── */
.blog-pagination{position:static;height:auto;max-width:none;z-index:auto;
  margin:3.5rem 0 0;padding:0;display:flex;justify-content:center}
.blog-pagination .page-numbers{list-style:none;display:flex;gap:.5rem;margin:0;padding:0;
  flex-wrap:wrap;justify-content:center}
.blog-pagination .page-numbers li{margin:0}
.blog-pagination a,.blog-pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;padding:.5rem .9rem;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.04em;text-transform:uppercase;
  border:var(--bd) solid var(--line);background:var(--elev);color:var(--w);
  text-decoration:none;border-radius:0;transition:all .25s;
}
.blog-pagination a:hover{border-color:var(--neon);color:var(--neon);transform:translateY(-2px)}
.blog-pagination .current{
  background:var(--neon);color:#231A0A;border-color:var(--neon);
  box-shadow:0 0 18px var(--neon-glow);
}
.blog-pagination .prev,.blog-pagination .next{padding:.5rem 1.2rem;white-space:nowrap}

/* ── Sidebar ────────────────────────────────────────────────────── */
.blog-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:1.8rem}
.side-card{
  background:var(--elev);border:var(--bd) solid var(--line);border-radius:var(--r);
  padding:1.8rem 1.6rem;position:relative;overflow:hidden;
  transition:border-color .4s,box-shadow .4s;
}
.side-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--neon),rgba(200,144,47,.3));
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.side-card:hover::before,.side-card:focus-within::before{transform:scaleX(1)}
.side-card:hover,.side-card:focus-within{
  border-color:var(--neon-border);
  box-shadow:0 14px 40px rgba(86,63,37,.08),inset 0 0 22px var(--neon-dim);
}
.side-title{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.8rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--w50);
  margin:0 0 1.2rem;padding-bottom:.9rem;border-bottom:var(--bd) solid var(--line);
}

/* Sidebar: Search widget */
.search-form{display:flex;flex-direction:column;gap:.8rem}
.search-input{
  width:100%;background:var(--base);border:var(--bd) solid var(--line);
  padding:.75rem 1rem;font-family:'Outfit',sans-serif;font-size:.95rem;color:var(--w);
  transition:border-color .25s,box-shadow .25s;border-radius:0;
}
.search-input::placeholder{color:var(--w50)}
.search-input:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px var(--neon-dim)}
.search-submit{width:100%;justify-content:center;padding:.75rem 1rem}

/* Sidebar: Recent posts */
.recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}
.recent-item{display:flex;gap:.85rem;align-items:flex-start}
.recent-thumb{width:56px;height:56px;border-radius:var(--r-sm);object-fit:cover;
  border:var(--bd) solid var(--line);flex-shrink:0;background:var(--surface)}
.recent-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.recent-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:.88rem;
  line-height:1.35;color:var(--w);text-decoration:none;transition:color .25s;
  display:block}
.recent-title:hover{color:var(--neon)}
.recent-date{font-size:.75rem;color:var(--w50);letter-spacing:.04em}

/* Sidebar: Topics list */
.topics-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}
.topics-list li{margin:0;padding:0}
.topics-list a{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:.6rem .8rem;border-radius:var(--r-sm);
  color:var(--w70);text-decoration:none;cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:.92rem;font-weight:500;
  transition:background .2s,color .2s,padding-left .2s;
}
.topics-list a:hover,.topics-list a.is-active{background:var(--neon-dim);color:var(--neon);padding-left:1rem}
.topic-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topic-count{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;font-size:.7rem;font-weight:700;
  color:var(--amber);background:var(--amber-dim);
  padding:.15rem .55rem;border-radius:999px;min-width:24px;flex-shrink:0;
  border:var(--bd) solid var(--neon-border);
}
.topics-list a:hover .topic-count,.topics-list a.is-active .topic-count{
  background:var(--neon);color:#231A0A;border-color:var(--neon)}

/* Sidebar: Newsletter widget */
.newsletter-widget{text-align:left}
.newsletter-widget p{font-size:.9rem;line-height:1.6;color:var(--w70);margin:0 0 1rem}
.newsletter-input{
  width:100%;background:var(--base);border:var(--bd) solid var(--line);
  padding:.75rem 1rem;font-family:'Outfit',sans-serif;font-size:.9rem;color:var(--w);
  margin-bottom:.75rem;transition:border-color .25s,box-shadow .25s;border-radius:0;
}
.newsletter-input::placeholder{color:var(--w50)}
.newsletter-input:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px var(--neon-dim)}
.newsletter-submit{width:100%;justify-content:center;padding:.75rem 1rem}

/* ── Brevo forms: honeypot + inline confirmation ──────────────────
   The honeypot must stay in the DOM and remain submittable, so it is
   COLLAPSED rather than display:none'd. These declarations are repeated
   INLINE on the element in home.php — deliberately. Measured on the
   single-post form: a stylesheet-only rule leaves the field VISIBLE during
   the window where LiteSpeed still serves the previous optimized CSS
   bundle; `left:-9999px` puts a real box outside the viewport; and an
   unstyled input carries the UA default WHITE fill (brand-law violation).
   A zero box with a transparent fill avoids all three and is still sent. */
.brevo-hp{position:absolute;width:0;height:0;padding:0;border:0;
  overflow:hidden;background:transparent;opacity:0}

/* Sidebar message is injected after the form by connect-blog.js. The CTA
   band reuses its existing #ctaOk (.cta-ok/.show) instead of a second node.
   Both states keep their TEXT on an approved brand ink and signal success
   vs failure through the accent bar and fill — the palette has no red. */
.newsletter-msg{display:none;margin:.85rem 0 0;padding:.7rem .85rem;
  border:var(--bd) solid var(--line);border-left-width:3px;border-radius:0;
  background:var(--surface);color:var(--w);font-family:'Outfit',sans-serif;
  font-size:.85rem;line-height:1.55}
.newsletter-msg.is-visible{display:block}
.newsletter-msg.is-ok{border-color:var(--neon-border);border-left-color:var(--neon);
  background:var(--neon-dim)}
.newsletter-msg.is-err{border-color:var(--line);border-left-color:var(--w50);
  background:var(--surface)}

/* Sidebar: Shop card */
.shop-media{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--surface),var(--elev));
  border:var(--bd) solid var(--line);border-radius:var(--r-sm);
  padding:1.2rem;margin-bottom:1.1rem;overflow:hidden}
.shop-media img{max-height:170px;width:auto;object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(86,63,37,.22));
  transition:transform .5s cubic-bezier(.16,1,.3,1)}
.side-card:hover .shop-media img{transform:translateY(-4px) rotate(-1deg)}
.shop-name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.02rem;
  line-height:1.3;letter-spacing:-.01em;color:var(--w);margin:0 0 .35rem}
.shop-price{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;
  color:var(--neon);margin:0 0 .6rem;font-variant-numeric:tabular-nums}
.shop-price del{color:var(--w50);font-weight:500;margin-left:.3rem}
.shop-price ins{background:none;text-decoration:none}
.shop-line{font-size:.9rem;line-height:1.6;color:var(--w70);margin:0 0 .9rem}

/* ── EMAIL CTA SECTION ──────────────────────────────────────────── */
.cta-sec{text-align:center}
.cta-sec .sec-h{margin-bottom:1.4rem}
.cta-sub{font-size:1.05rem;line-height:1.7;color:var(--w70);max-width:520px;margin:0 auto 2.4rem}
.cta-form{display:flex;gap:.8rem;max-width:560px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.cta-input{
  flex:1;min-width:min(260px,100%);background:var(--elev);
  border:var(--bd) solid var(--w50);border-radius:0;
  padding:.95rem 1.4rem;font-family:'Outfit',sans-serif;font-size:.95rem;color:var(--w);
  transition:border-color .25s,box-shadow .25s;
}
.cta-input::placeholder{color:var(--w50);text-transform:uppercase;font-size:.8rem;letter-spacing:.1em}
.cta-input:focus{outline:none;border-color:#AB5E2A;box-shadow:0 0 0 3px rgba(171,94,42,.4)}
.cta-ok{margin-top:1.2rem;font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:.9rem;letter-spacing:.06em;color:var(--grad-top);display:none}
.cta-ok.show{display:block}
.cta-micro{margin-top:1.6rem}
.cta-micro .hw{font-size:1.3rem;transform:rotate(-2deg)}

/* ── Footer current-state (blog active link) ─────────────────────── */
.foot-col a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1.5px;
  background:var(--neon);transition:width .3s}
.foot-col a{position:relative}
.foot-col a.current{color:var(--neon)}
.foot-col a.current::after{width:100%}

/* ── Empty state ────────────────────────────────────────────────── */
.blog-empty{padding:4rem 0;text-align:center;color:var(--w50);
  font-family:'Space Grotesk',sans-serif;letter-spacing:.04em}

/* ── Responsive ─────────────────────────────────────────────────── */
@media(max-width:920px){
  .hero{padding:8rem 0 4rem}
  .hero-grid{grid-template-columns:1fr;gap:2.8rem}
  .blog-layout{grid-template-columns:1fr}
  .blog-sidebar{position:static;order:2}
  .blog-main{order:1}
  .post-featured{grid-template-columns:1fr}
  .post-featured .post-card-media{min-height:0;aspect-ratio:16/9}
  .post-featured .post-card-body{padding:2rem 1.6rem}
  .post-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .pad{padding:4.5rem 0}
  .post-grid{grid-template-columns:1fr;gap:1.4rem}
  .hero{padding:7rem 0 3.5rem}
  .blog-hero h1{font-size:clamp(2.4rem,9vw,3.4rem)}
  .hero-ctas{gap:1rem}
  .trust-row{gap:1.4rem 2rem}
  .trust-item{font-size:.7rem}
  .post-card-body{padding:1.3rem 1.3rem 1.4rem}
  .post-card h3{font-size:1.1rem}
  .blog-pagination a,.blog-pagination span{min-width:40px;min-height:40px;padding:.4rem .7rem;font-size:.72rem}
  .cta-form{flex-direction:column;align-items:stretch}
  .cta-form .btn-cyber{justify-content:center}
}

/* ── Reduced motion ─────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .js .blog-hero h1 .ln{transform:none!important;animation:none!important}
}
