/* ── News — stili scoped alla sezione editoriale ─────────────────── */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  @media(max-width:920px){.news-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.news-grid{grid-template-columns:1fr}}

  .post{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);
        border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);
        transition:transform .22s ease,box-shadow .22s ease}
  .post:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(10,20,36,.05),0 22px 42px -18px rgba(10,20,36,.28)}
  .post-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--fg-soft)}
  .post-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
  .post:hover .post-media img{transform:scale(1.05)}
  .post-body{display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;flex:1}
  .post h3{font-size:19px;line-height:1.25;letter-spacing:-.01em;margin:0}
  .post h3 a{color:var(--fg);text-decoration:none}
  .post:hover h3 a{color:var(--accent-ink)}
  .post p.exc{color:var(--muted);font-size:14.5px;line-height:1.5;margin:0;
        display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .post .post-foot{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:10px;
        font-family:var(--font-mono);font-size:12px;color:var(--muted);
        border-top:1px solid var(--border)}
  .post .post-foot .dot{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.6}

  /* pill categoria */
  .cpill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
        font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.03em;
        text-transform:uppercase;padding:5px 10px;border-radius:999px;
        background:var(--fg-soft);color:var(--fg)}
  .cpill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
  .cpill.c-nor{color:#8a5a00;background:color-mix(in oklch,#e0a13a 18%,transparent)}
  .cpill.c-for{color:var(--accent-ink);background:var(--accent-soft)}
  .cpill.c-sic{color:#a23a2e;background:color-mix(in oklch,#d9564a 15%,transparent)}
  .cpill.c-amb{color:#1f7a5a;background:color-mix(in oklch,#2fae86 16%,transparent)}
  .cpill.c-azi{color:#4a5a86;background:color-mix(in oklch,#5a76d9 14%,transparent)}

  /* articolo in evidenza */
  .feature{display:grid;grid-template-columns:1.15fr .85fr;gap:0;background:var(--surface);
        border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;
        box-shadow:var(--shadow);margin-bottom:40px}
  .feature .post-media{aspect-ratio:auto;min-height:340px}
  .feature .fbody{display:flex;flex-direction:column;gap:16px;padding:clamp(24px,3vw,44px);justify-content:center}
  .feature h2{font-size:clamp(24px,2.4vw,32px);line-height:1.15;letter-spacing:-.02em;margin:0}
  .feature h2 a{color:var(--fg);text-decoration:none}
  .feature h2 a:hover{color:var(--accent-ink)}
  .feature p.exc{color:var(--muted);font-size:16px;line-height:1.55;margin:0}
  .feature .post-foot{border-top:1px solid var(--border);padding-top:16px;margin-top:6px}
  @media(max-width:820px){.feature{grid-template-columns:1fr}.feature .post-media{min-height:220px}}

  /* toolbar */
  .news-tools{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-bottom:30px}
  .news-search{flex:1 1 280px;position:relative;display:flex;align-items:center}
  .news-search svg{position:absolute;left:14px;width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:2}
  .news-search input{width:100%;padding:12px 14px 12px 40px;border:1px solid var(--border);
        border-radius:999px;background:var(--surface);font:inherit;font-size:15px;color:var(--fg)}
  .news-search input:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}
  .catfilter{display:flex;flex-wrap:wrap;gap:8px}
  .catfilter .tag{cursor:pointer;font:inherit;font-size:13.5px;padding:8px 14px;border-radius:999px;
        border:1px solid var(--border);background:var(--surface);color:var(--muted);transition:.15s}
  .catfilter .tag:hover{color:var(--fg);border-color:var(--accent-line)}
  .catfilter .tag.active{background:var(--ink);color:#fff;border-color:var(--ink)}

  .news-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted)}
  .news-empty b{display:block;color:var(--fg);font-size:18px;margin-bottom:6px}
