/* ===========================================================
   Totaliweb Core — stili widget (base, sovrascrivibili da Elementor)
   =========================================================== */

/* --- Lista Articoli --- */
.tw-al { display: flex; gap: 24px; }
.tw-al--list { flex-direction: column; }
.tw-al--grid { display: grid; grid-template-columns: repeat(3, 1fr); }

.tw-al-item { display: flex; min-width: 0; }
.tw-al--list .tw-al-item { flex-direction: row; gap: 16px; align-items: flex-start; }
.tw-al--grid .tw-al-item { flex-direction: column; gap: 10px; }

.tw-al-img { display: block; overflow: hidden; flex-shrink: 0; }
.tw-al--list .tw-al-img { flex: 0 0 140px; width: 140px; }
.tw-al--grid .tw-al-img { width: 100%; }
.tw-al-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.tw-ratio-16-9 { aspect-ratio: 16 / 9; }
.tw-ratio-4-3  { aspect-ratio: 4 / 3; }
.tw-ratio-1-1  { aspect-ratio: 1 / 1; }
.tw-ratio-original img { height: auto; }

.tw-al-body { min-width: 0; }

.tw-cat-badge {
	display: inline-block;
	font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: 0.04em; line-height: 1; padding: 0.35em 0.6em;
	border-radius: 3px; color: #fff; background: #E40E31; text-decoration: none;
	margin-bottom: 0.4em;
}
.tw-cat-badge:hover { filter: brightness(0.92); }

.tw-al-title { margin: 0 0 0.3em; font-size: 1.05rem; line-height: 1.25; }
.tw-al-title a { text-decoration: none; color: inherit; }
.tw-al-title a:hover { text-decoration: underline; }
.tw-al-meta { font-size: 0.8rem; color: #7d7d7d; margin-bottom: 0.4em; }
.tw-al-excerpt { margin: 0; font-size: 0.9rem; color: #555; }

/* --- Condivisione Social --- */
.tw-share { display: flex; flex-wrap: wrap; gap: 8px; }
.tw-share a {
	display: inline-flex; align-items: center; gap: 0.5em;
	background: #444; color: #fff; text-decoration: none;
	padding: 0.55em 0.7em; border-radius: 3px; line-height: 1; font-size: 16px;
}
.tw-share a:hover { filter: brightness(1.08); color: #fff; }
.tw-share .tw-share-label { font-size: 0.8em; font-weight: 700; }
