.mvcat{
  --primary:#1A73E8; --primary-hover:#1557B0; --primary-active:#11468C;
  --primary-surface:#E8F0FE; --on-primary:#FFFFFF;
  --cta:#FBBC04; --cta-hover:#F9AB00; --cta-active:#E89D00; --on-cta:#202124;
  --success:#34A853; --success-text:#15803D; --success-surface:#E8F5E9; --success-border:#D9EADF;
  --surface:#FFFFFF; --surface-alt:#F8F9FA; --border:#DADCE0; --border-soft:#E8EAED;
  --text:#202124; --text-2:#5F6368; --text-3:#80868B;
  --focus-ring:#0B57D0;
  --font:Verdana, Geneva, Tahoma, sans-serif;
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
  --gutter:clamp(20px,3vw,32px);
  --section-py:clamp(48px,7vw,80px);
  --container:1180px;
  --radius-card:14px;
  --shadow-1:0 1px 2px rgba(60,64,67,.12);
  --shadow-2:0 4px 8px -2px rgba(60,64,67,.10),0 2px 4px -2px rgba(60,64,67,.08);
  --shadow-3:0 12px 24px -8px rgba(60,64,67,.14),0 6px 12px -6px rgba(60,64,67,.10);
}

/* Full width: il layout Astra e' forzato a "stretched" via functions.php. */
.mvcat{ width:100%; max-width:100%; overflow-x:clip; box-sizing:border-box; font-family:var(--font); color:var(--text); }
.mvcat *, .mvcat *::before, .mvcat *::after{ box-sizing:border-box; }
.mvcat img{ max-width:100%; height:auto; display:block; }
.mvcat a{ color:inherit; text-decoration:none; }

.mvcat .wrap{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
.mvcat svg.ico{ width:1em; height:1em; vertical-align:-.15em; fill:none; stroke:currentColor; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round; display:inline-block; flex:none; }

/* bottoni (identici alle altre pagine) */
.mvcat .mv-btn-primary,.mvcat .mv-btn-secondary{ display:inline-flex; align-items:center; gap:10px; justify-content:center;
  border-radius:999px; font-weight:700; font-size:16.5px; padding:15px 28px; transition:background .15s ease; }
.mvcat .mv-btn-primary{ background:var(--cta); color:var(--on-cta); }
.mvcat .mv-btn-primary:hover{ background:var(--cta-hover); }
.mvcat .mv-btn-secondary{ background:var(--primary); color:var(--on-primary); }
.mvcat .mv-btn-secondary:hover{ background:var(--primary-hover); }
.mvcat .mv-btn-primary:focus-visible,.mvcat .mv-btn-secondary:focus-visible{ outline:3px solid var(--focus-ring); outline-offset:3px; }
.mvcat .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.mvcat .cta-row.center{ justify-content:center; }

/* ---------- HERO archivio ---------- */
.mvcat .cat-hero{ background:linear-gradient(180deg,var(--primary-surface) 0%,#fff 100%);
  padding:clamp(24px,4vw,44px) 0 clamp(24px,3vw,36px); }
.mvcat .cat-hero .wrap{ max-width:900px; }
.mvcat .crumbs{ font-size:13px; color:var(--text-2); line-height:1.5; }
.mvcat .crumbs a:hover{ color:var(--primary-hover); }
.mvcat .crumbs .sep{ margin:0 6px; color:var(--border); }
.mvcat .eyebrow{ display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--primary-hover);
  font-weight:700; font-size:13px; padding:7px 16px; border-radius:999px; box-shadow:var(--shadow-1); margin:16px 0 4px; }
.mvcat .eyebrow i{ width:8px; height:8px; border-radius:50%; background:var(--primary); }
.mvcat .cat-hero h1{ font-weight:700; margin-top:14px; line-height:1.18; }
.mvcat .cat-intro{ margin-top:16px; font-size:1.06em; line-height:1.65; color:var(--text-2); }
.mvcat .cat-intro p{ margin:0 0 10px; }
.mvcat .cat-intro p:last-child{ margin-bottom:0; }

/* ---------- GRIGLIA ARTICOLI ---------- */
.mvcat .cat-list{ padding:var(--section-py) 0; }
.mvcat .post-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:940px){ .mvcat .post-grid{ grid-template-columns:repeat(2,1fr); gap:24px; } }
@media (max-width:600px){ .mvcat .post-grid{ grid-template-columns:1fr; gap:22px; } }

.mvcat .post-card{ display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-1);
  transition:transform .2s ease, box-shadow .2s ease; }
.mvcat .post-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-3); }
.mvcat .post-card__media{ display:block; aspect-ratio:16/9; background:var(--surface-alt); overflow:hidden; }
.mvcat .post-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.mvcat .post-card:hover .post-card__media img{ transform:scale(1.04); }
.mvcat .post-card__ph{ display:block; width:100%; height:100%;
  background:linear-gradient(135deg,var(--primary-surface),#fff); }
.mvcat .post-card__body{ padding:20px 22px 24px; display:flex; flex-direction:column; flex:1; }
.mvcat .post-card__meta{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--text-2);
  font-weight:600; margin-bottom:10px; }
.mvcat .post-card__meta .dot{ color:var(--border); }
.mvcat .post-card__title{ font-weight:700; line-height:1.3; font-size:1.16em; margin:0 0 10px; }
.mvcat .post-card__title a{ color:var(--text); transition:color .15s ease; }
.mvcat .post-card__title a:hover{ color:var(--primary-hover); }
.mvcat .post-card__excerpt{ font-size:14px; line-height:1.6; color:var(--text-2); margin:0 0 18px; }
.mvcat .post-card__more{ margin-top:auto; display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  font-size:14px; font-weight:700; color:var(--primary-hover); }
.mvcat .post-card__more .ico{ transition:transform .15s ease; }
.mvcat .post-card:hover .post-card__more .ico{ transform:translateX(3px); }

.mvcat .cat-empty{ text-align:center; color:var(--text-2); font-size:1.05em; padding:40px 0; }

/* ---------- PAGINAZIONE ---------- */
.mvcat .cat-pagination{ margin-top:clamp(32px,5vw,52px); display:flex; justify-content:center; }
.mvcat .cat-pagination .page-numbers{ display:inline-flex; flex-wrap:wrap; gap:8px; align-items:center; list-style:none; padding:0; margin:0; }
.mvcat .cat-pagination .page-numbers li{ list-style:none; }
.mvcat .cat-pagination .page-numbers a,
.mvcat .cat-pagination .page-numbers span{ display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px; border-radius:10px; border:1px solid var(--border); background:#fff;
  font-size:14.5px; font-weight:700; color:var(--text); transition:all .15s ease; }
.mvcat .cat-pagination a.page-numbers:hover{ border-color:var(--primary); color:var(--primary-hover); background:var(--primary-surface); }
.mvcat .cat-pagination .page-numbers span.current{ background:var(--primary); border-color:var(--primary); color:#fff; }
.mvcat .cat-pagination .page-numbers .dots{ border:0; background:transparent; color:var(--text-3); min-width:auto; }

/* ---------- CTA BAND verde finale (identica alle altre pagine) ---------- */
.mvcat .cta-band{ background:var(--success-surface); border-top:1px solid var(--success-border);
  border-bottom:1px solid var(--success-border); padding:clamp(48px,7vw,88px) 24px; text-align:center; }
.mvcat .cta-band .inner{ max-width:760px; margin:0 auto; }
.mvcat .cta-band h2{ font-weight:700; margin-bottom:14px; line-height:1.25; }
.mvcat .cta-band .lead{ color:var(--text-2); font-size:1.06em; line-height:1.65; margin-bottom:28px; }
.mvcat .cta-band .cta-row{ justify-content:center; }
.mvcat .cta-band .micro{ margin-top:18px; font-size:14px; color:var(--text-2); }
.mvcat .cta-band .micro a{ color:var(--primary-hover); font-weight:700; }

@media (prefers-reduced-motion: reduce){
  .mvcat *, .mvcat *::before, .mvcat *::after{ transition-duration:.01ms !important; }
}
@media (max-width:600px){
  .mvcat .cta-band .cta-row{ flex-direction:column; }
  .mvcat .cta-band .mv-btn-primary, .mvcat .cta-band .mv-btn-secondary{ width:100%; }
}
