/* ECM Blog 2.0.0: stile minimo, prende caratteri e colori dal tema (variabili --tgg-* se ci sono, poi Bootstrap). Telefono prima. */
.ecmblog { --ecmb-testo: var(--tgg-testo, #333); --ecmb-tenue: #5f6368; --ecmb-linea: #e3e5e8; --ecmb-fondo: var(--tgg-fondo, #f6f6f6);
  --ecmb-accento: var(--tgg-bosco, var(--bs-link-color, #234d2b)); --ecmb-raggio: var(--tgg-raggio, 8px); }

.ecmblog__intro { color: var(--ecmb-tenue); font-size: 1.05rem; max-width: 62ch; margin: 0 0 1.25rem; }

/* argomenti: una riga che scorre da telefono, si va a capo da computer */
.ecmblog__argomenti { display: flex; gap: .5rem; overflow-x: auto; padding: 0 0 .75rem; margin: 0 0 1rem; scrollbar-width: thin; }
.ecmblog__argomento { flex: 0 0 auto; padding: .4rem .85rem; border: 1px solid var(--ecmb-linea); border-radius: 999px; font-size: .9rem;
  color: var(--ecmb-testo); text-decoration: none; background: #fff; white-space: nowrap; }
.ecmblog__argomento:hover, .ecmblog__argomento:focus-visible { border-color: var(--ecmb-accento); color: var(--ecmb-accento); }
.ecmblog__argomento.is-on { background: var(--ecmb-accento); border-color: var(--ecmb-accento); color: #fff; }

.ecmblog__griglia { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 576px) { .ecmblog__griglia { grid-template-columns: repeat(2, 1fr); } .ecmblog__argomenti { flex-wrap: wrap; overflow: visible; } }
@media (min-width: 992px) { .ecmblog__griglia { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }

.ecmblog-card { border: 1px solid var(--ecmb-linea); border-radius: var(--ecmb-raggio); overflow: hidden; background: #fff; }
.ecmblog-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.ecmblog-card__link:hover .ecmblog-card__titolo, .ecmblog-card__link:focus-visible .ecmblog-card__titolo { color: var(--ecmb-accento); }
.ecmblog-card__media { aspect-ratio: 16 / 9; background: var(--ecmb-fondo); overflow: hidden; }
.ecmblog-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ecmblog-card__vuota { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--ecmb-fondo), #e9eedb); }
.ecmblog-card__body { padding: .9rem 1rem 1.1rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.ecmblog-card__data { color: var(--ecmb-tenue); font-size: .8rem; }
.ecmblog-card__titolo { font-size: 1.05rem; line-height: 1.3; margin: 0; }
.ecmblog-card__estratto { color: var(--ecmb-tenue); font-size: .92rem; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ecmblog-card__leggi { margin-top: auto; padding-top: .25rem; font-weight: 600; font-size: .9rem; color: var(--ecmb-accento); }

.ecmblog__vuoto { color: var(--ecmb-tenue); }
.ecmblog__pagine { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; margin: 2rem 0 .5rem; }
.ecmblog__numeri { display: flex; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.ecmblog__pag { display: inline-block; min-width: 2.5rem; padding: .45rem .7rem; text-align: center; border: 1px solid var(--ecmb-linea);
  border-radius: 6px; text-decoration: none; color: var(--ecmb-testo); background: #fff; }
.ecmblog__pag.is-on { background: var(--ecmb-accento); border-color: var(--ecmb-accento); color: #fff; font-weight: 600; }
a.ecmblog__pag:hover { border-color: var(--ecmb-accento); color: var(--ecmb-accento); }

/* l'articolo: una colonna di lettura */
.ecmblog--articolo { max-width: 780px; margin: 0 auto; }
.ecmblog-art__sotto { font-size: 1.12rem; color: var(--ecmb-tenue); margin: 0 0 .5rem; }
.ecmblog-art__meta { color: var(--ecmb-tenue); font-size: .88rem; margin: 0 0 1rem; }
.ecmblog-art__copertina { margin: 0 0 1.5rem; }
.ecmblog-art__copertina img { display: block; width: 100%; height: auto; border-radius: var(--ecmb-raggio); }
.ecmblog-art__testo { font-size: 1.05rem; line-height: 1.7; color: var(--ecmb-testo); overflow-wrap: anywhere; }
.ecmblog-art__testo h2 { font-size: 1.4rem; margin: 2rem 0 .75rem; }
.ecmblog-art__testo h3 { font-size: 1.15rem; margin: 1.5rem 0 .5rem; }
.ecmblog-art__testo img, .ecmblog-art__testo iframe, .ecmblog-art__testo video { max-width: 100%; height: auto; }
.ecmblog-art__testo table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1rem 0; }
.ecmblog-art__testo th, .ecmblog-art__testo td { border: 1px solid var(--ecmb-linea); padding: .5rem .7rem; text-align: left; }
.ecmblog-art__tag { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1.75rem 0 0; }
.ecmblog-tag { background: var(--ecmb-fondo); border-radius: 999px; padding: .2rem .7rem; font-size: .8rem; color: var(--ecmb-tenue); }
.ecmblog__sezione { font-size: 1.3rem; margin: 2.5rem 0 1rem; }
.ecmblog-prodotti, .ecmblog-altri { max-width: 1100px; margin-left: auto; margin-right: auto; }
.ecmblog-art__torna { max-width: 780px; margin: 2rem auto 1rem; }
