.cv{ padding:1.25rem; }
.cv-section{ padding:1rem 0; border-top:1px solid var(--border); }
.cv-section:first-of-type{ border-top:0; padding-top:0; }
.cv h3{ margin:0 0 .5rem; font-size:1.05rem; color:var(--text); }
.cv h3#cv-formazione-titolo, .cv h3#cv-education-title{ font-size:1.18rem; margin-bottom:.4rem; }
.cv #cv-formazione-titolo ~ h4, .cv #cv-education-title ~ h4{ font-size:1.02rem; margin:.45rem 0 .25rem; color:var(--text); }
.cv #cv-formazione-titolo ~ h4 + .cv-list, .cv #cv-education-title ~ h4 + .cv-list{ margin-top:.2rem; }
.cv .subtle{ margin:.25rem 0 0; }
.cv-list{ margin:0; padding-left:1.1rem; color:var(--muted); }
.cv-list li{ margin:.25rem 0; }
/* Allinea la data a destra negli elementi del CV */
.cv-list .cv-item{ display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.cv-item-main{ flex:1; min-width:0; color:var(--muted); }
.cv-date{ white-space:nowrap; color:var(--muted); }

@media (min-width:800px){
  .cv .two-cols{ columns:2; column-gap:2rem; }
  .cv .two-cols li{ break-inside:avoid; }
}
@media (max-width:600px){
  .cv{ padding:.9rem; }
  .cv-section{ padding:.85rem 0; }
}

/* Titolo + lingue inline solo su mobile, desktop resta h2 centrato senza lingue inline */
.cv-title{ display:flex; align-items:center; justify-content:center; gap:.6rem; margin:0 0 .5rem; }
.cv-title h2{ margin:0; text-align:center; }
.lang-inline{ display:none; gap:.4rem; }
.lang-inline a{ padding:.2rem .5rem; border:1px solid var(--border); border-radius:.6rem; text-decoration:none; }

@media (max-width: 720px){
  body[data-page="curriculum"] .lang-switch{ display:none !important; }
  .lang-inline{ display:inline-flex; }
}
