/* ==========================================================================
   Edilmutti - News: elenco degli articoli (/news/ e pagine di categoria,
   template-parts/news/) e articolo (single-post.php). Testata
   .dg-elenco--grande (sezioni.css), striscia dei filtri, pannello dei
   filtri sul telefono, card, paginazione; testata, corpo e altri articoli.
   ========================================================================== */

/* ---------- Striscia dei filtri: due linee a tutta larghezza ---------- */
.dg-filtri { border-block: var(--dg-border-width) solid rgba(var(--dg-primary-500-rgb), .2); }
.dg-filtri__barra { display: flex; align-items: center; gap: var(--dg-space-5); min-height: 4rem; }
.dg-filtri__icona { flex: none; width: 1.25rem; height: 1.25rem; }
.dg-filtri__numero { margin: 0 0 0 auto; font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-medium); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }

/* Voci: maiuscolo, quadratino che si riempie sulla categoria attiva. */
.dg-filtri__voci { display: flex; flex-wrap: wrap; gap: var(--dg-space-2) var(--dg-space-5); margin: 0; padding: 0; list-style: none; }
.dg-filtri__voci a { display: inline-flex; align-items: center; gap: var(--dg-space-2); padding-block: var(--dg-space-2); font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-medium); letter-spacing: .04em; color: var(--dg-neutral-500); text-decoration: none; text-transform: uppercase; }
.dg-filtri__voci a::before { content: ""; width: .625rem; height: .625rem; border: var(--dg-border-width) solid currentColor; }
.dg-filtri__voci a:hover, .dg-filtri__voci a[aria-current] { color: var(--dg-primary-500); }
.dg-filtri__voci a[aria-current]::before { background: currentColor; }

/* Sotto 768 px: al posto delle voci il pulsante che apre il pannello. */
.dg-filtri__apri { display: inline-flex; align-items: center; gap: var(--dg-space-2); padding: 0; font: inherit; font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-medium); letter-spacing: .04em; color: inherit; text-transform: uppercase; background: none; border: 0; cursor: pointer; }
.dg-filtri__apri .dg-icona { width: 1.25rem; height: 1.25rem; }
@media (min-width: 768px) { .dg-filtri__apri { display: none; } }
@media (max-width: 767.98px) { .dg-filtri__barra > .dg-filtri__icona, .dg-filtri__barra > nav { display: none; } }

/* ---------- Pannello dei filtri (telefono): da destra, a tutta altezza ---------- */
.dg-filtri-pannello { width: min(22rem, 88vw); max-width: none; height: 100dvh; max-height: none; margin: 0 0 0 auto; padding: var(--dg-space-5) var(--dg-space-4); color: var(--dg-primary-500); background: var(--dg-neutral-100); border: 0; }
.dg-filtri-pannello::backdrop { background: rgba(var(--dg-primary-900-rgb), .45); }
.dg-filtri-pannello__testa { display: flex; align-items: center; justify-content: space-between; gap: var(--dg-space-3); margin-bottom: var(--dg-space-5); padding-bottom: var(--dg-space-4); border-bottom: var(--dg-border-width) solid rgba(var(--dg-primary-500-rgb), .2); }
.dg-filtri-pannello__testa h2 { margin: 0; font-size: var(--dg-h5); font-weight: var(--dg-fw-normal); outline: 0; }
.dg-filtri-pannello__chiudi { display: inline-flex; padding: var(--dg-space-2); color: inherit; background: none; border: 0; cursor: pointer; }
.dg-filtri-pannello__chiudi .dg-icona { width: 1.5rem; height: 1.5rem; }
.dg-filtri-pannello .dg-filtri__voci { flex-direction: column; gap: var(--dg-space-2); }
.dg-filtri-pannello .dg-filtri__voci a { font-size: var(--dg-font-size-base); }
@media (prefers-reduced-motion: no-preference) {
	.dg-filtri-pannello[open] { animation: dg-filtri-entra var(--dg-duration-base) var(--dg-ease-standard); }
	@keyframes dg-filtri-entra { from { transform: translateX(100%); } }
}

/* ---------- Card: foto 16:10 senza arrotondamento, categoria e data, titolo ---------- */
.dg-articoli { padding-block: var(--dg-ss-md) var(--dg-ss-xl); }
.dg-articoli__lista { display: grid; gap: var(--dg-ss-md) var(--dg-space-5); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .dg-articoli__lista { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .dg-articoli__lista { grid-template-columns: repeat(3, 1fr); } }
.dg-notizia { position: relative; }
.dg-notizia__foto { display: block; aspect-ratio: 16 / 10; margin-bottom: var(--dg-space-4); overflow: hidden; background: var(--dg-neutral-200); }
.dg-notizia__foto img { width: 100%; height: 100%; object-fit: cover; }
.dg-notizia__meta { display: flex; flex-wrap: wrap; gap: var(--dg-space-2); margin: 0 0 var(--dg-space-3); font-size: var(--dg-fs-sm); }
.dg-notizia__meta strong { font-weight: var(--dg-fw-medium); }
.dg-notizia__meta time { color: var(--dg-neutral-500); }
.dg-notizia__titolo { margin: 0; font-size: var(--dg-h5); font-weight: var(--dg-fw-normal); line-height: var(--dg-lh-sm); }
.dg-notizia__titolo a { color: inherit; text-decoration: none; }
.dg-notizia__titolo a::after { content: ""; position: absolute; inset: 0; }
@media (prefers-reduced-motion: no-preference) {
	.dg-notizia__foto img { transition: transform var(--dg-duration-base) var(--dg-ease-standard); }
	.dg-notizia:hover .dg-notizia__foto img { transform: scale(1.04); }
}

/* ---------- Paginazione: numeri e frecce, la pagina attuale piena ---------- */
.dg-articoli .pagination { margin-top: var(--dg-ss-lg); }
.dg-articoli .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--dg-space-2); }
.dg-articoli .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; height: 2.75rem; padding-inline: var(--dg-space-2); color: inherit; text-decoration: none; border: var(--dg-border-width) solid rgba(var(--dg-primary-500-rgb), .25); }
.dg-articoli a.page-numbers:hover { border-color: var(--dg-primary-500); }
.dg-articoli .page-numbers.current { color: var(--dg-neutral-100); background: var(--dg-primary-500); border-color: var(--dg-primary-500); }
.dg-articoli .page-numbers.dots { border-color: transparent; }
.dg-articoli .page-numbers .dg-icona { width: 1.25rem; height: 1.25rem; }

/* ==========================================================================
   Articolo (single-post.php)
   ========================================================================== */

/* Testata: titolo piu' piccolo delle altre (i titoli degli articoli sono lunghi) e con
   una larghezza massima; categoria e data a destra, in basso. Sotto, la foto. */
.dg-elenco--articolo { padding-bottom: var(--dg-ss-lg); }
.dg-elenco--articolo .dg-elenco__testata { margin-bottom: 0; }
.dg-elenco--articolo .dg-elenco__titolo { max-width: 15em; font-size: 2.25rem; line-height: 1.1; }
@media (min-width: 576px) { .dg-elenco--articolo .dg-elenco__titolo { font-size: 2.75rem; } }
@media (min-width: 768px) { .dg-elenco--articolo .dg-elenco__titolo { font-size: 3.25rem; } }
@media (min-width: 992px) {
	.dg-elenco--articolo .dg-elenco__titolo { font-size: 3.75rem; }
	.dg-elenco--articolo .dg-elenco__lato { grid-row: 1; }
}
@media (min-width: 1400px) { .dg-elenco--articolo .dg-elenco__titolo { font-size: 4.5rem; } }
.dg-articolo-meta { display: flex; flex-wrap: wrap; gap: var(--dg-space-2) var(--dg-space-4); margin: 0; font-size: var(--dg-fs-sm); }
.dg-articolo-meta a { font-weight: var(--dg-fw-medium); color: inherit; }
.dg-articolo-meta time { color: var(--dg-neutral-500); }
@media (min-width: 992px) { .dg-articolo-meta { flex-direction: column; align-items: flex-end; text-align: right; } }

/* ---------- Corpo: centrato, al massimo 1100 px; il primo paragrafo fa da attacco ---------- */
.dg-articolo-corpo { padding-block: var(--dg-ss-lg) var(--dg-ss-xl); }
.dg-testo-articolo { max-width: 1100px; margin-inline: auto; font-size: var(--dg-fs-lg); }
.dg-testo-articolo > * { margin-block: 0 var(--dg-space-4); }
.dg-testo-articolo > :last-child { margin-bottom: 0; }
.dg-testo-articolo > p:first-child { margin-bottom: var(--dg-space-6); font-size: var(--dg-h4); line-height: 1.35; }
.dg-testo-articolo h2 { margin: var(--dg-ss-md) 0 var(--dg-space-4); font-size: var(--dg-h3); font-weight: var(--dg-fw-normal); line-height: 1.15; }
.dg-testo-articolo h3 { margin: var(--dg-space-6) 0 var(--dg-space-3); font-size: var(--dg-h4); font-weight: var(--dg-fw-normal); }
.dg-testo-articolo h4 { margin: var(--dg-space-5) 0 var(--dg-space-3); font-size: var(--dg-h5); font-weight: var(--dg-fw-medium); }
.dg-testo-articolo ul, .dg-testo-articolo ol { padding-left: 1.25em; }
.dg-testo-articolo li + li { margin-top: var(--dg-space-2); }
.dg-testo-articolo a { color: inherit; text-underline-offset: .2em; }
.dg-testo-articolo blockquote { margin: var(--dg-ss-md) 0; padding: 0 0 0 var(--dg-space-5); font-size: var(--dg-h4); line-height: 1.35; border-left: 2px solid var(--dg-primary-500); }
.dg-testo-articolo blockquote p { margin: 0; }
.dg-testo-articolo blockquote cite { display: block; margin-top: var(--dg-space-3); font-size: var(--dg-fs-sm); font-style: normal; color: var(--dg-neutral-500); }
.dg-testo-articolo figure { margin: var(--dg-ss-md) 0; }
.dg-testo-articolo img { display: block; max-width: 100%; height: auto; }
.dg-testo-articolo figure img { width: 100%; }
.dg-testo-articolo figcaption { margin-top: var(--dg-space-2); font-size: var(--dg-fs-sm); color: var(--dg-neutral-500); }
.dg-testo-articolo iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.dg-testo-articolo table { width: 100%; border-collapse: collapse; font-size: var(--dg-font-size-base); }
.dg-testo-articolo th, .dg-testo-articolo td { padding: var(--dg-space-2) var(--dg-space-3); text-align: left; border-bottom: var(--dg-border-width) solid rgba(var(--dg-primary-500-rgb), .2); }

/* ---------- Invito: stesso respiro sopra e sotto ---------- */
article + .dg-chiusura { padding-block: 0 var(--dg-ss-lg); }

/* ---------- Altri articoli: le card dell'elenco, titoli piu' piccoli ---------- */
.dg-altri-articoli { padding-bottom: var(--dg-ss-xl); }
.dg-altri-articoli__testa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--dg-space-3); margin-bottom: var(--dg-space-5); }
.dg-altri-articoli__testa h2 { margin: 0; font-size: var(--dg-h4); font-weight: var(--dg-fw-normal); }
.dg-altri-articoli__testa a { font-weight: var(--dg-fw-medium); }
.dg-altri-articoli .dg-notizia__titolo { font-size: var(--dg-h6); }
