/* ECM Blog — stili specifici articoli/indice. Estende css/v3.css (font Archivo, var --accent ecc.) */
.blog-wrap{max-width:820px;margin:0 auto;padding:48px 20px 72px}
.blog-list-wrap{max-width:1140px;margin:0 auto;padding:48px 20px 72px}

/* --- intestazione articolo --- */
.blog-hero{margin:0 0 28px}
.blog-kicker{display:inline-block;font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.blog-hero h1{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.15;margin:0 0 .4em;font-weight:800}
.blog-sub{font-size:1.15rem;color:var(--ink-2);line-height:1.5;margin:0 0 18px}
.blog-meta{font-family:'Space Mono',monospace;font-size:.82rem;color:var(--ink-3);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:0 0 8px;
  display:flex;gap:18px;flex-wrap:wrap}
.blog-hero-img{width:100%;height:auto;border-radius:14px;margin:24px 0 8px;display:block}

/* --- corpo articolo --- */
.blog-body{font-size:1.07rem;line-height:1.8;color:var(--ink)}
.blog-body h2{font-size:1.5rem;margin:1.7em 0 .5em;font-weight:800;line-height:1.25}
.blog-body h3{font-size:1.2rem;margin:1.4em 0 .4em;font-weight:700}
.blog-body p{margin:0 0 1.1em}
.blog-body ul,.blog-body ol{margin:0 0 1.2em;padding-left:1.3em;line-height:1.8}
.blog-body li{margin:.3em 0}
.blog-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.blog-body a:hover{color:var(--accent-d)}
.blog-body img{max-width:100%;height:auto;border-radius:12px;margin:1.2em 0}

/* --- FAQ --- */
.faq-pilot{margin:2.4em 0 0;border-top:2px solid var(--line);padding-top:1.4em}
.faq-pilot h2{font-size:1.4rem;margin:0 0 .6em}
.faq-pilot h3{font-size:1.08rem;margin:1.1em 0 .3em;font-weight:700}
.faq-pilot p{margin:0 0 .4em;color:var(--ink-2)}

/* --- CTA fine articolo --- */
.blog-cta{margin:2.6em 0 0;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;
  padding:26px 28px;text-align:center}
.blog-cta p{margin:0 0 14px;font-size:1.08rem;font-weight:600}
.blog-cta .btn-primary{display:inline-block;background:var(--accent);color:#fff;padding:13px 26px;
  border-radius:9px;text-decoration:none;font-weight:700}
.blog-back{display:inline-block;margin-top:34px;font-family:'Space Mono',monospace;font-size:.85rem;
  color:var(--accent);text-decoration:none}

/* --- indice blog (lista card) --- */
.blog-list-head{text-align:center;margin:0 0 40px}
.blog-list-head h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;margin:0 0 .3em}
.blog-list-head p{color:var(--ink-2);font-size:1.1rem;max-width:620px;margin:0 auto}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:26px}
.blog-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--paper);transition:transform .15s ease,box-shadow .15s ease;text-decoration:none;color:inherit}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 8px 26px rgba(0,0,0,.10)}
.blog-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--paper-2)}
.blog-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.blog-card .blog-kicker{font-size:.7rem;margin-bottom:8px}
.blog-card h2{font-size:1.18rem;line-height:1.3;margin:0 0 .4em;font-weight:700}
.blog-card p{font-size:.95rem;color:var(--ink-2);line-height:1.55;margin:0 0 14px;flex:1}
.blog-card .card-date{font-family:'Space Mono',monospace;font-size:.76rem;color:var(--ink-3)}
