/* ==========================================================================
   ORBIT v2 — estensione blog (stessa base di v2.css: palette, glass,
   gradient mesh, smooth-scroll, cursore custom). Solo componenti
   specifici del blog: header di sezione/post, griglia articoli, tipografia.
   ========================================================================== */

/* ---------- Header blog / post (sostituisce l'hero) ---------- */
#blog-header, #post-header{
  min-height:60vh; display:flex; align-items:center; padding-top:150px; padding-bottom:70px; overflow:hidden;
}
#post-header{min-height:auto;}
.blog-header-inner{max-width:900px; position:relative; z-index:1;}
.post-header-meta{
  margin-top:26px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  font-family:var(--mono); font-size:0.8rem; color:var(--slate-light);
}
.post-header-meta .author{display:flex; align-items:center; gap:10px; color:var(--slate);}
.post-header-meta .author img{width:32px; height:32px; border-radius:50%; object-fit:cover; filter:grayscale(15%);}

/* ---------- Griglia articoli ---------- */
#post-list{padding-top:40px;}
.post-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:56px;}
.post-card{overflow:hidden; display:flex; flex-direction:column;}
.post-card-cover{aspect-ratio:16/10; position:relative; overflow:hidden; background:linear-gradient(135deg, var(--ink-2), var(--ink));}
.post-card-cover svg{width:100%; height:100%;}
.post-card-body{padding:28px 30px 30px; display:flex; flex-direction:column; flex-grow:1;}
.post-badge{
  display:inline-block; font-family:var(--mono); font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--orange-soft); background:rgba(242,129,29,0.12); padding:5px 12px; border-radius:100px; margin-bottom:16px; align-self:flex-start;
}
.post-card h3{font-family:var(--display); font-size:1.15rem; font-weight:600; margin-bottom:10px; line-height:1.3;}
.post-card p{color:var(--slate); font-size:0.92rem; line-height:1.6; flex-grow:1;}
.post-card-meta{
  margin-top:20px; padding-top:16px; border-top:1px solid var(--line);
  font-family:var(--mono); font-size:0.7rem; color:var(--slate-light); display:flex; justify-content:space-between;
}
.post-card.coming-soon{opacity:0.5;}
.post-card.coming-soon .post-card-cover{display:flex; align-items:center; justify-content:center;}
.post-card.coming-soon .post-card-cover span{font-family:var(--mono); font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--slate-light);}
@media (max-width:980px){ .post-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .post-grid{grid-template-columns:1fr;} }

/* ---------- Cover del post ---------- */
.post-cover{max-width:960px; margin:0 auto; padding:0 32px 0; position:relative; z-index:1;}
.post-cover .glass{padding:8px; border-radius:22px;}
.post-cover video{width:100%; border-radius:16px; display:block; pointer-events:none;}

/* ---------- Video ambientali nel corpo articolo (no controlli, solo loop) ---------- */
.post-body figure video{pointer-events:none;}

/* ---------- Corpo articolo ---------- */
article.post-body{max-width:720px; margin:0 auto; padding:80px 32px 40px; font-size:1.08rem; line-height:1.85;}
.post-body p{margin-bottom:24px; color:var(--slate);}
.post-body h2{
  font-family:var(--display); font-weight:600; font-size:1.6rem; letter-spacing:-0.01em;
  margin:56px 0 20px; color:var(--white);
}
.post-body h3{font-family:var(--display); font-weight:600; font-size:1.2rem; margin:36px 0 14px; color:var(--white);}
.post-body strong{color:var(--white); font-weight:600;}
.post-body em{color:var(--orange-soft); font-style:normal;}
.post-body ul, .post-body ol{margin:0 0 24px 22px; color:var(--slate);}
.post-body li{margin-bottom:10px; line-height:1.7;}
.post-body blockquote{
  border-left:2px solid transparent; border-image:linear-gradient(var(--orange), var(--violet), var(--cyan)) 1;
  padding:4px 0 4px 26px; margin:36px 0; font-family:var(--display); font-size:1.25rem; font-weight:500; color:var(--white);
}
.post-body .callout{padding:28px 30px; margin:36px 0;}
.post-body .callout .callout-tag{
  font-family:var(--mono); font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--orange-soft); margin-bottom:10px; display:block;
}
.post-body .callout p:last-child{margin-bottom:0;}
.post-body figure{margin:40px 0;}
.post-body figcaption{font-family:var(--mono); font-size:0.78rem; color:var(--slate-light); margin-top:12px; text-align:center;}

.post-cta{max-width:720px; margin:24px auto 100px; padding:0 32px;}
.post-cta .glass{padding:46px 42px; text-align:center; background:linear-gradient(120deg, rgba(242,129,29,0.1), rgba(124,108,249,0.08));}
.post-cta h3{font-family:var(--display); font-weight:600; font-size:1.45rem; margin-bottom:12px;}
.post-cta p{color:var(--slate); margin-bottom:28px; font-size:0.98rem;}
