/* ============================================================
   Archivi categoria — Scavi di Pompei
   Landing per /category/*: hero + intro + griglia articoli
   Stile allineato al design system (Playfair Display / Plex, Calce/Travertino)
   ============================================================ */

body.category{ background: var(--bg, #F5F1E6); }

/* --- Hero band --- */
.cat-hero{
  border-bottom: 1px solid var(--border, #D9CDB6);
  background: var(--surface, #F2ECDB);
  padding: 56px max(24px, calc((100% - 1120px) / 2)) 40px;
}
.cat-hero > .elementor-element{ max-width: 1120px; margin-inline: auto; width: 100%; }\n/* fallback boxing via padding */
.cat-hero h1{
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
  font-weight: 600;
  font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem);
  line-height: 1.18;
  color: var(--text, #313A41);
  margin: 0 0 0.4em;
}
.cat-intro{
  font-family: var(--font-sans, 'IBM Plex Sans', sans-serif);
  color: var(--text, #313A41);
  font-size: 1.02rem;
  line-height: 1.65;
}
.cat-intro p{ margin: 0 0 1em; }
.cat-intro a{ color: var(--accent-ink, #12294C); text-decoration-thickness: 1.5px; text-underline-offset: 2px; }
.cat-intro a:hover{ color: var(--accent-dark, #12294C); }

/* --- Griglia articoli (widget archive-posts, skin classic) --- */
.cat-grid{ padding: 48px max(24px, calc((100% - 1120px) / 2)) 72px; }
.cat-grid > .elementor-element{ max-width: 1120px; margin-inline: auto; width: 100%; }
.cat-grid .elementor-posts-container{ gap: 28px; }
.cat-grid .elementor-post{
  background: var(--bg, #F5F1E6);
  border: 1px solid var(--border, #D9CDB6);
  border-radius: var(--radius, 2px);
  box-shadow: var(--shadow-card, 0 1px 0 0 rgba(49,58,65,0.08));
  transition: box-shadow .18s ease, transform .18s ease;
  overflow: hidden;
}
.cat-grid .elementor-post:hover{
  box-shadow: var(--shadow-card-hover, 0 4px 12px -4px rgba(49,58,65,0.18));
  transform: translateY(-2px);
}
.cat-grid .elementor-post__thumbnail{ aspect-ratio: 3 / 2; }
.cat-grid .elementor-post__thumbnail img{ width: 100%; height: 100%; object-fit: cover; }
.cat-grid .elementor-post__text{ padding: 18px 20px 20px; }
.cat-grid .elementor-post__title,
.cat-grid .elementor-post__title a{
  font-family: var(--font-display, 'Playfair Display', Georgia, serif);
  font-weight: 600;
  font-size: 1.22rem;
  line-height: 1.25;
  color: var(--text, #313A41);
  text-decoration: none;
  margin: 0 0 0.45em;
}
.cat-grid .elementor-post__title a:hover{ color: var(--accent-dark, #12294C); }
.cat-grid .elementor-post__excerpt p{
  font-family: var(--font-sans, 'IBM Plex Sans', sans-serif);
  font-size: 0.94rem;
  line-height: 1.55;
  color: var(--text-muted, #4A6350);
  margin: 0 0 0.9em;
}
.cat-grid .elementor-post__read-more{
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent-ink, #12294C);
  text-decoration: none;
}
.cat-grid .elementor-post__read-more:hover{ color: var(--accent-dark, #12294C); text-decoration: underline; }
.cat-grid .elementor-post__meta-data{ display: none; }

/* --- Paginazione --- */
.cat-grid .elementor-pagination{
  margin-top: 40px;
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
}
.cat-grid .elementor-pagination .page-numbers{
  color: var(--text, #313A41);
  border: 1px solid var(--border, #D9CDB6);
  border-radius: var(--radius, 2px);
  padding: 8px 13px;
  text-decoration: none;
}
.cat-grid .elementor-pagination .page-numbers.current{
  background: var(--accent, #1B3A6B);
  border-color: var(--accent, #1B3A6B);
  color: var(--color-erbario-corte, #F5F1E6);
}

/* --- Responsive --- */
@media (max-width: 1024px){
  .cat-grid .elementor-posts-container{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px){
  .cat-hero{ padding: 40px 34px 32px; }
  .cat-grid{ padding: 36px 34px 56px; }
  .cat-grid .elementor-posts-container{ grid-template-columns: 1fr; }
}
