/* =========================================================
   OIDA — tipografia editoriale per l'articolo blog
   File ISOLATO e additivo: non modifica i CSS del tema.
   Tutto è scoped a .descriPost (corpo dell'articolo).
   ========================================================= */

.descriPost{
  font-size: 1.05rem;
  line-height: 1.78;
  color: #2a2e35;
  max-width: 760px;
}

/* Il CMS antepone alle tabelle un'icona "scorri" (images/scroll-hand.png)
   che non e' mai esistita sul server (bug del template originale, emerso
   con i primi articoli contenenti tabelle): la nascondiamo. Lo scroll
   orizzontale via .contTableResponsive resta funzionante. */
.imgScrollTable{ display: none; }

/* incipit piu' presente */
.descriPost > p:first-of-type{
  font-size: 1.18rem;
  line-height: 1.7;
  color: #3a3f47;
}

.descriPost p{ margin: 0 0 1.25rem; }

/* H2 di sezione: scala ragionevole + filetto di separazione */
.descriPost h2{
  font-size: 1.7rem;
  line-height: 1.25;
  font-weight: 700;
  color: #080f2c;
  margin: 2.75rem 0 1rem;
  padding-top: 1.6rem;
  border-top: 1px solid #e7ebf0;
}

/* H3: sottosezione, colore brand */
.descriPost h3{
  font-size: 1.22rem;
  line-height: 1.3;
  font-weight: 600;
  color: #003b6e;
  margin: 1.9rem 0 .55rem;
}

/* la prima intestazione non deve avere riga/spazio sopra */
.descriPost > h2:first-child,
.descriPost > h3:first-child{
  margin-top: 0; padding-top: 0; border-top: 0;
}

/* liste leggibili */
.descriPost ul, .descriPost ol{ margin: 0 0 1.4rem; padding-left: 1.35rem; }
.descriPost li{ margin-bottom: .55rem; line-height: 1.72; }
.descriPost li::marker{ color:#003b6e; }

.descriPost strong{ color:#080f2c; font-weight: 700; }

.descriPost a{ color:#003b6e; text-decoration: underline; text-underline-offset: 2px; }
.descriPost a:hover{ color:#012849; }

/* riquadri "In breve" / "L'errore tipico" / CTA: accento brand a sinistra */
.descriPost .bg-body{
  background: #f6f8fb !important;
  border-color: #e3e8ef !important;
  border-left: 4px solid #003b6e !important;
}
.descriPost .bg-primary.bg-opacity-10{
  background: #eef4fb !important;
  border-color: #d6e3f3 !important;
  border-left: 4px solid #003b6e !important;
}
.descriPost .bg-body p:last-child,
.descriPost .bg-primary.bg-opacity-10 p:last-child{ margin-bottom: 0; }

/* responsive */
@media (max-width: 575px){
  .descriPost{ font-size: 1rem; }
  .descriPost h2{ font-size: 1.42rem; margin-top: 2.2rem; }
  .descriPost h3{ font-size: 1.15rem; }
}

/* tabelle comparative */
.descriPost .contTableResponsive{ overflow-x: auto; margin: 1.6rem 0; }
.descriPost table{ width: 100%; border-collapse: collapse; font-size: .96rem; }
.descriPost th, .descriPost td{ border: 1px solid #e3e8ef; padding: .6rem .8rem; text-align: left; vertical-align: top; }
.descriPost thead th{ background: #eef4fb; color: #080f2c; font-weight: 700; }
.descriPost tbody tr:nth-child(even){ background: #f8fafc; }
