/* ===========================================================
   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; }

/* --- Hero home (articolo grande a sinistra + 4 griglia a destra) --- */
.tw-hero-big .tw-al-title { font-size: 1.8rem; line-height: 1.16; }
.tw-hero-big .tw-al-excerpt { font-size: 1rem; }
.tw-hero-side .tw-al-title { font-size: 0.98rem; line-height: 1.22; margin-bottom: 0.2em; }
.tw-hero-side .tw-al-meta { font-size: 0.74rem; }
@media (max-width: 1024px) { .tw-hero-big .tw-al-title { font-size: 1.4rem; } }

/* --- Barra meta articolo (orizzontale, moderna) --- */
.tw-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; color: #6f6f6f; font-size: 0.86rem; line-height: 1; }
.tw-meta-i { display: inline-flex; align-items: center; gap: 0.4em; white-space: nowrap; }
.tw-meta-i i { color: #E40E31; font-size: 0.95em; }
.tw-meta-author { font-weight: 700; color: #0C0E30; text-transform: uppercase; letter-spacing: 0.02em; }
.tw-meta-i + .tw-meta-i { position: relative; }

/* --- Condivisione social: contatore + micro-interazione --- */
.tw-share-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.tw-share-count { font-size: 0.82rem; color: #6f6f6f; line-height: 1.1; }
.tw-share-count .tw-share-count-n { display: inline-block; color: #0C0E30; font-size: 1.05rem; font-weight: 700; }
.tw-share a { transition: transform 0.12s ease, filter 0.12s ease; }
.tw-share a:hover { transform: translateY(-2px); }

/* --- Menu mobile: dropdown integrato + niente overflow orizzontale --- */
@media (max-width: 1024px) {
  .elementor-nav-menu--dropdown { box-shadow: 0 8px 18px rgba(0,0,0,0.25); }
  .elementor-nav-menu--dropdown a.elementor-item { font-weight: 600; }
  body { overflow-x: hidden; }
}
