/* ==================
   ARCHIVE / BLOG
   ================== */

.archive-page .archive-hero {
  text-align: center;
  padding: 2rem 0 1rem;
}
.archive-title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 .5rem;
}
.archive-subtitle {
  max-width: 760px;
  margin: 0 auto;
  color: #555;
}

/* Ultimo articolo */
.latest-article {
  margin: 2rem auto 2.5rem;
}
.section-overline {
  font-size: .9rem;
  text-transform: uppercase;
  color: #777;
  margin-bottom: .8rem;
}
.latest-card {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 1rem;
  align-items: stretch;
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.latest-thumb img, .latest-card .thumb-placeholder {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  display: block;
}
.latest-content {
  padding: 1rem 1.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.latest-title { font-size: 1.4rem; margin: 0 0 .5rem; }
.latest-excerpt { color: #555; margin-bottom: 1rem; }
.btn.btn-small {
  align-self: flex-start;
  padding: .5rem .8rem;
  background: #222; color: #fff;
  border-radius: 8px; text-decoration: none;
}
.btn.btn-small:hover { background: #444; }

/* Sezioni categoria */
.category-section { margin: 2.5rem auto; }
.section-head {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: .8rem; gap: 1rem;
}
.section-title { font-size: 1.3rem; font-weight: 600; text-transform: uppercase;}
.section-link { font-size: .85rem; color: #0073aa; text-decoration: none; }
.section-link:hover { text-decoration: underline; }

.category-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 1rem;
}
.cat-feature {
  border: 1px solid #eee; border-radius: 10px; overflow: hidden; background:#fff;
  display: flex; flex-direction: column;
}
.cat-feature .card-thumb img,
.cat-feature .thumb-placeholder { width: 100%; height: 240px; object-fit: cover; display:block; }
.cat-feature .card-body { padding: .9rem 1rem 1.1rem; }
.cat-feature .card-title { font-size: 1.1rem; margin: 0 0 .4rem; }
.cat-feature .card-excerpt { color:#555; font-size:.95rem; }

.cat-compact {
  display: grid; grid-template-columns: 120px 1fr; gap: .7rem;
  border-bottom: 1px solid #eee; padding: .6rem 0;
}
.cat-compact:last-child { border-bottom: 0; }
.card-thumb.small img, .thumb-placeholder.small {
  width: 120px; height: 80px; object-fit: cover; display:block; border-radius: 6px;
}
.card-title { font-size: 1.1rem; margin: 0 0 .25rem; }
.card-title a { color:#222; text-decoration:none; }
.card-title a:hover { text-decoration: underline; }
.card-date { font-size: .8rem; color: #777; }

/* Griglia “ultimi articoli” */
.latest-grid-section { margin: 3rem auto; }
.posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}
.grid-card {
  border:1px solid #eee; border-radius:10px; overflow:hidden; background:#fff;
  display:flex; flex-direction:column;
}
.grid-card .card-thumb img, .grid-card .thumb-placeholder {
  width:100%; height:180px; object-fit:cover; display:block;
}
.grid-card .card-title { font-size:1rem; margin:.7rem 1rem .3rem; }
.grid-card .card-date { font-size:.8rem; color:#777; margin: 0 1rem 1rem; }

/* Fallback pagination */
.archive-fallback { margin: 2rem auto; }
.archive-fallback .pagination, .archive-fallback .nav-links { display:flex; gap:.5rem; }

/* Util vario */
.thumb-placeholder { background:#f0f0f0; width:100%; height:200px; }

/* Responsive */
@media (max-width: 980px) {
  .latest-card { grid-template-columns: 1fr; }
  .latest-thumb img, .latest-card .thumb-placeholder { min-height: 220px; }
  .category-grid { grid-template-columns: 1fr; }
}
