:root{--brand:#871919;--brand2:#a32121;--radius:14px;--max-width:1680px}
html,body{margin:0;padding:0;height:100%;scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#fff;color:#111827;overflow-x:hidden}
#bloccoA{position:fixed;top:0;left:0;right:0;background:#fff;z-index:1000;box-shadow:0 2px 6px rgba(0,0,0,.1)}
#bloccoA header{max-width:var(--max-width);margin:0 auto;text-align:center;padding:10px 0}
.site-nav{background:var(--brand);color:#fff;padding:12px 0;text-align:center}
.site-nav a{color:#fff;text-decoration:none;font-weight:600;margin:0 12px;transition:color .25s ease}
.site-nav a:hover{color:#f5b400}
#bloccoB{margin-top:160px;overflow-y:auto;min-height:calc(100vh - 200px)}
#bloccoC{background:#fafafa;border-top:1px solid #eee;text-align:center;color:#777;font-size:13px;padding:20px 0}
main{padding:30px 20px 50px;max-width:var(--max-width);margin:0 auto;position:relative}
.grid{display:grid;grid-template-columns:repeat(4,minmax(400px,400px));justify-content:center;gap:20px}
@media (max-width:1720px){.grid{grid-template-columns:repeat(3,minmax(400px,400px))}}
@media (max-width:1300px){.grid{grid-template-columns:repeat(2,minmax(400px,400px))}}
@media (max-width:860px){.grid{grid-template-columns:1fr}}
.cella{background:#fff;border:2px solid var(--brand);border-radius:var(--radius);box-shadow:0 2px 6px rgba(0,0,0,.08);overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .25s ease;opacity:0;transform:translateY(10px);animation:fadeIn .6s ease forwards;position:relative;cursor:pointer}
@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}
.cella:hover{transform:translateY(-4px);border-color:var(--brand2);box-shadow:0 4px 14px rgba(163,33,33,.35)}
.header-cella{display:flex;align-items:center;justify-content:flex-start;width:100%;background:#fff;padding:10px 0}
.header-table{width:100%;border-collapse:collapse}
.header-table td{vertical-align:middle}
.cell-globo{width:115px;padding-left:30px}
.cell-globo img{width:75px;height:auto;display:block}
.cell-testo{text-align:left;display:flex;flex-direction:column;align-items:center}
.fpi-title{font-weight:800;font-style:italic;color:var(--brand);font-size:22px;text-shadow:1px 1px 3px rgba(0,0,0,.25)}
.fpi-sub{font-size:17px;font-weight:800;font-style:italic;color:var(--brand);text-transform:capitalize;text-shadow:1px 1px 3px rgba(0,0,0,.25);margin-left:6px}
#cella1-media{display:flex;justify-content:center;align-items:center}
.cella-img{width:288px;height:200px;object-fit:cover;border-radius:10px;display:block}
.cella h2{font-size:18px;color:#003366;margin:10px 0 6px;transition:color .25s ease}
.cella:hover h2{color:var(--brand2)}
.abstract{font-size:14px;color:#444;margin:0 20px 10px;text-align:justify}
.freccia{font-weight:700;color:var(--brand2);text-decoration:none;animation:blink 1s infinite alternate}
@keyframes blink{from{opacity:1}to{opacity:.4}}
.meta-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:13px;color:#555;font-style:italic;margin:10px 0 14px;padding:4px 10px;border-top:1px solid rgba(135,25,25,.15);border-bottom:1px solid rgba(135,25,25,.15);background:linear-gradient(90deg,rgba(255,255,255,.85)0,rgba(247,237,237,.95)100%);border-radius:8px}
.badge-updated{position:absolute;top:8px;right:10px;background:#22c55e;color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.15);opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease}
.badge-updated.show{opacity:1;transform:translateY(0)}
@media (max-width:768px){#bloccoA{position:sticky;top:0}#bloccoB{margin-top:120px}.cell-globo{width:90px;padding-left:20px}.cell-globo img{width:60px}.fpi-title{font-size:18px}.fpi-sub{font-size:13px}.cella-img{width:260px;height:180px}}
@media (max-width:480px){.header-cella{justify-content:center}.header-table{width:auto}.cell-globo{padding-left:0;width:auto;text-align:center}.cell-testo{text-align:center}.fpi-title{font-size:16px}.fpi-sub{font-size:12px}.cella-img{width:240px;height:160px}}
.cellaD3 img {
  border-bottom: 2px solid #871919;
  transition: transform 0.3s;
}
.cellaD3 img:hover {
  transform: scale(1.03);
}
.cellaD3 button:hover {
  background:#a11e1e;
}