/* ═══════════════════════════════════════════════════════════
   THEME-AGNOSTIC FONT CUSTOM PROPERTIES (v5.19.3)
   Default stack allineato al template Alanews:
   - Titoli       → Inter Bold
   - Body         → Libre Baskerville
   - UI / Meta    → Source Sans 3
   Il tema può sovrascrivere queste variabili per customizzare.
   ═══════════════════════════════════════════════════════════ */
:root {
    --lbs-font-title: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --lbs-font-body: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
    --lbs-font-ui: 'Source Sans 3', 'Source Sans Pro', system-ui, -apple-system, sans-serif;
}

/* ═══════════════════════════════════════════════════════════
   PALETTE TOKENS — SCOPED AL PLUGIN (v5.19.16)
   Definiti sui wrapper plugin-owned (NO :root, lezione v5.19.15)
   per vincere su qualsiasi override esterno (tema/Color Picker/altri plugin)
   che inquinasse --lbs-listcard-dot-color con tonalità rosse non allineate
   al brand (#991b1b, #ef4444, ecc.). Il fallback `var(--x, #dc2626)` non
   bastava perché la cascade esterna popolava la variabile.
   ═══════════════════════════════════════════════════════════ */
.lbs-mini-updates,
.lbs-live,
.lbs-mini-timeline-anchor,
.lbs-anchor-host,
.lbs-dual-badge {
    --lbs-listcard-dot-color: #dc2626;
    --lbs-live-dot-color: #dc2626;
    --lbs-live-badge-bg: #dc2626;
}

/* Hide post category badge on live post thumbnails (theme-agnostic + JNews fallback) */
.lbs-live .post-category,
.lbs-live .entry-category,
.lbs-live .jeg_post_category {
    display: none !important;
}

.live-blog{border:none;padding:0}
.live-blog__header{
  background:#e11d48;
  color:#fff;
  font-family:var(--lbs-font-ui, inherit);
  padding:10px 14px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;   /* center the LIVE text and dot */
  gap:8px;
  font-weight:700;
  text-align:center;
}
.live-blog__header,
.live-blog__header *{
  font-family:var(--lbs-font-ui, inherit) !important;
}
.live-blog__header .dot{width:8px;height:8px;border-radius:50%;background:#fff;display:inline-block;animation:blink 1s steps(2, start) infinite}
@keyframes blink{0%,100%{opacity:1;box-shadow:0 0 6px 3px rgba(220,38,38,0.6)}50%{opacity:.4;box-shadow:0 0 2px 1px rgba(220,38,38,0.2)}}
.live-blog__header--closed{background:#6b7280;color:#f3f4f6;font-weight:600;letter-spacing:0.03em}
.live-blog__header--closed .dot{display:none}

/* IN DIRETTA label (sopra la timeline) */
/* v5.19.4: forza font UI (Source Sans 3) — il tema sovrascriveva con serif */
.live-blog__live-updates-label{
  display:inline-flex;align-items:center;gap:6px;
  background:#dc2626;color:#fff;
  font-family:var(--lbs-font-ui, inherit);
  font-weight:700;font-size:0.75rem;
  text-transform:uppercase;letter-spacing:0.08em;
  padding:6px 14px;border-radius:4px;
  margin-top:12px;margin-bottom:8px;
  line-height:1;
}
.live-blog__live-dot{
  width:8px;height:8px;border-radius:50%;
  background:#fff;display:inline-block;flex-shrink:0;
  animation:lbs-pill-pulse 1.5s ease-in-out infinite;
}

/* "di Autore" in basso a sinistra della card */
.live-blog__di-author{
  display:flex;align-items:center;gap:5px;
  margin-top:14px;padding-top:10px;
  border-top:1px solid #f0f0f0;
  font-size:0.82rem;color:#111;
  font-weight:500;line-height:1;
}
.live-blog__di-author svg{
  color:#0d9488;flex-shrink:0;
}
.live-blog__author-link{
  color:#111;text-decoration:none;transition:color 0.2s, text-decoration 0.2s;
}
.live-blog__author-link:hover{
  color:#0d9488;text-decoration:underline;
}

/* Blockquote summary - Green style */
#live-blog .live-blog__blockquote {
    border-left: 4px solid #10b981 !important;
    background: #ecfdf5 !important;
    padding: 16px 20px !important;
    margin: 20px 0 24px 0 !important;
    border-radius: 4px !important;
    border-right: none !important;
    border-top: none !important;
    border-bottom: none !important;
    font-family: var(--lbs-font-body) !important;
    box-shadow: none !important;
    quotes: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
#live-blog .live-blog__blockquote::before,
#live-blog .live-blog__blockquote::after {
    content: none !important;
    display: none !important;
}
#live-blog .live-blog__blockquote p {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #065f46 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-family: var(--lbs-font-body) !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-align: left !important;
    border: none !important;
    background: transparent !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    word-spacing: normal !important;
}
#live-blog .live-blog__blockquote p:last-child {
    margin-bottom: 0 !important;
}
#live-blog .live-blog__blockquote p::before,
#live-blog .live-blog__blockquote p::after {
    content: none !important;
    display: none !important;
}

/* Font style variants */
#live-blog .live-blog__blockquote--bold p,
#live-blog .live-blog__blockquote--bold li {
    font-weight: 700 !important;
    font-style: normal !important;
}
#live-blog .live-blog__blockquote--italic p,
#live-blog .live-blog__blockquote--italic li {
    font-style: italic !important;
    font-weight: 400 !important;
}
#live-blog .live-blog__blockquote--normal p,
#live-blog .live-blog__blockquote--normal li {
    font-style: normal !important;
    font-weight: 400 !important;
}

/* Bullet list with green dots */
#live-blog .live-blog__blockquote-list {
    list-style: none !important;
    margin: 8px 0 0 0 !important;
    padding: 0 0 0 20px !important;
}
#live-blog .live-blog__blockquote-list li {
    position: relative !important;
    color: #065f46 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-family: var(--lbs-font-body) !important;
    margin-bottom: 4px !important;
    padding-left: 0 !important;
}
#live-blog .live-blog__blockquote-list li::before {
    content: "" !important;
    position: absolute !important;
    left: -16px !important;
    top: 0.55em !important;
    width: 8px !important;
    height: 8px !important;
    background: #10b981 !important;
    border-radius: 50% !important;
    display: block !important;
}

/* Color variants: Red */
#live-blog .live-blog__blockquote--red {
    border-left-color: #e11d48 !important;
    background: #fef2f2 !important;
}
#live-blog .live-blog__blockquote--red p,
#live-blog .live-blog__blockquote--red li { color: #9f1239 !important; }
#live-blog .live-blog__blockquote--red .live-blog__blockquote-list li::before { background: #e11d48 !important; }

/* Color variants: Blue */
#live-blog .live-blog__blockquote--blue {
    border-left-color: #2563eb !important;
    background: #eff6ff !important;
}
#live-blog .live-blog__blockquote--blue p,
#live-blog .live-blog__blockquote--blue li { color: #1e3a8a !important; }
#live-blog .live-blog__blockquote--blue .live-blog__blockquote-list li::before { background: #2563eb !important; }

/* Color variants: Custom (uses CSS variables) */
#live-blog .live-blog__blockquote--custom {
    border-left-color: var(--bq-border, #10b981) !important;
    background: var(--bq-bg, #ecfdf5) !important;
}
#live-blog .live-blog__blockquote--custom p,
#live-blog .live-blog__blockquote--custom li { color: var(--bq-text, #065f46) !important; }
#live-blog .live-blog__blockquote--custom .live-blog__blockquote-list li::before { background: var(--bq-border, #10b981) !important; }

.live-blog__timeline{
    --tl-x: 10px;
    position: relative;
    margin: 24px 0 0 0;
    padding-left: 0;
    --line-start: calc(0.6em + 6px); /* Start from center of first pulsating dot (12px height) */
}

/* Timeline line - green vertical line */
.live-blog__timeline:before{
    content:"";
    position:absolute;
    left:var(--tl-x);
    top: var(--line-start);
    bottom:0;
    width:1px;
    background:#d1d5db;
}

/* Items layout - single column with circle on the left */
.live-blog__item {
    position: relative;
    margin: 0 0 32px 0;
    padding-left: 40px;
    scroll-margin-top: 100px;
}

/* Hide line below last item's dot */
.live-blog__item:last-child::after {
    content: "";
    position: absolute;
    left: var(--tl-x);
    top: calc(0.6em + 10px); /* Start from center of last dot */
    bottom: 0;
    width: 1px;
    background: #fff;
    z-index: 1;
}

/* Tick per new parameters */



/* Latest update tick (bigger + dark red) */



/* Date label - above the card */
.live-blog__metaout {
    display: block;
    color: #5a5a5a;
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 10px 0;
    letter-spacing: -0.01em;
    font-family: var(--lbs-font-ui);
}

/* Card - light background */
.live-blog__card{
    background:#fdfdfd;
    border:1px solid #e5e7eb;
    border-radius:6px;
    padding:18px 20px;
}
.live-blog__meta{font-size:.875rem;color:#ff0000;margin:0 0 10px;font-family:var(--lbs-font-ui);}
.live-blog__title{font-weight:700;margin:0 0 12px 0; font-size: 18px; color:#111827; line-height: 1.4; font-family:var(--lbs-font-title);}


.live-blog__body{line-height:1.55; font-size: 15px; font-family:var(--lbs-font-body);}

/* Embed containers */
/* ═══ Universal Social Embed — responsive ═══ */
.lbs-embed {
  margin: 16px 0;
  max-width: 100%;
  overflow: hidden;
}
.lbs-embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}
.lbs-embed-youtube iframe {
  aspect-ratio: 16 / 9;
  height: auto;
}
.lbs-embed-x iframe,
.lbs-embed-instagram iframe {
  min-height: 420px;
}
.lbs-embed-tiktok iframe {
  width: 100%;
  max-width: 100%;
  min-height: 700px;
}
/* Fallback social card */
.lbs-card {
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  background: #fafafa;
}
.lbs-card-provider {
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 6px;
  opacity: 0.6;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.lbs-card a {
  display: block;
  color: #2563eb;
  text-decoration: none;
  word-break: break-word;
  font-size: 0.9rem;
  transition: color 0.15s;
}
.lbs-card a:hover {
  color: #1d4ed8;
}
.lbs-embed-fallback:hover .lbs-card {
  background: #f3f4f6;
}

.live-blog__image{max-width:100%;height:auto;border-radius:10px;margin:8px 0;display:block}
.live-blog__status{margin-top:8px;font-size:.875rem;opacity:.8}

/* Polling indicator */
.live-blog__poll-indicator{
  display:flex;align-items:center;gap:6px;
  margin-top:12px;padding:8px 14px;
  font-size:.8rem;font-weight:600;color:#374151;
  background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;
  width:fit-content;
}
.lbs-poll-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}
.lbs-poll-dot--on{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.25);animation:poll-blink 2s infinite}
.lbs-poll-dot--off{background:#9ca3af}
@keyframes poll-blink{0%,100%{opacity:1}50%{opacity:.4}}


/* Stronger specificity to override theme styles */
#live-blog .live-blog__title{ font-size: 17px !important; }
#live-blog .live-blog__body{ font-size: 15px !important; line-height: 1.6; }
#live-blog .live-blog__body p{ font-size: inherit !important; line-height: inherit; }


/* Default ticks: solid green circle */
#live-blog .live-blog__tick{
  position:absolute;
  left: calc(var(--tl-x) - 5px);
  top: 0.6em;
  width: 10px;
  height: 10px;
  background: #d1d5db;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #d1d5db;
  z-index: 2;
}

/* Latest tick ONLY: red with ring-pulse (same as badge dot) */
#live-blog .live-blog__item.is-latest .live-blog__tick{
  width: 12px;
  height: 12px;
  background: #dc2626;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px #dc2626;
  animation: none;
  position: absolute;
  left: calc(var(--tl-x) - 6px);
  top: 0.6em;
  overflow: visible !important;
}
#live-blog .live-blog__item.is-latest .live-blog__tick::before{
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  background: #dc2626;
  z-index: -1;
  animation: lbs-ring-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* ==========================================
   LIST CARD style: card bianca attaccata sotto foto (Al Jazeera)
   ========================================== */
.lbs-mini-updates--listcard{
  margin-top: 0 !important;
  padding: 4px 24px 16px !important;
  background: #ffffff !important;
  border-top: none;
  border-radius: 0;
  box-shadow: none !important;
  position: relative;
  z-index: 10;
}
.lbs-mini-updates--listcard .lbs-mini-updates__header{
  color: var(--lbs-listcard-dot-color, #dc2626);
  font-size: 1.13em;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 0 0 8px 0 !important;
  margin: -11px -5px 0 -18px !important;
  border-bottom: none;
}
.lbs-mini-updates--listcard .lbs-mini-updates__dot{
  width: 18px; height: 18px;
  color: var(--lbs-listcard-dot-color, #dc2626);
  overflow: visible;
}

@keyframes lbs-ring-pulse{
  0%{transform:scale(1);opacity:0.6}
  50%{transform:scale(1.8);opacity:0}
  100%{transform:scale(1.8);opacity:0}
}
.lbs-mini-updates--listcard .lbs-mini-updates__list{
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
  position: relative;
  padding-left: 22px !important;
  margin-left: 6px !important;
}
/* Vertical timeline line — centered on 10px dots at left:-22px → center = -17px from content */
.lbs-mini-updates--listcard .lbs-mini-updates__list::before{
  content: "";
  position: absolute;
  left: 5px;
  top: 6px;
  bottom: 0;
  width: 1px;
  background: color-mix(in srgb, var(--lbs-listcard-dot-color, #dc2626) 20%, #e5e7eb);
}
.lbs-mini-updates--listcard .lbs-mini-updates__item{
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 0 0 10px 0;
  font-size: 1.13em;
  line-height: 1.4;
  flex: none !important;
  scroll-snap-align: unset !important;
  background: transparent !important;
  border-radius: 0 !important;
  min-width: 0;
  position: relative;
}
/* Max 4 items in listcard vertical */
.lbs-mini-updates--listcard:not(.lbs-mini-updates--horizontal) .lbs-mini-updates__item:nth-child(n+5){
  display: none !important;
}
.lbs-mini-updates--listcard .lbs-mini-updates__item:last-child{
  padding-bottom: 0;
}
/* Mask the line below the last dot */
.lbs-mini-updates--listcard .lbs-mini-updates__item:last-child::after{
  content: "";
  position: absolute;
  left: -22px;
  top: 9px; /* center of dot (top:4px + half 10px = 9px) */
  bottom: 0;
  width: 10px;
  background: #ffffff;
  z-index: 1;
}
.lbs-mini-updates--listcard .lbs-mini-updates__item-dot{
  position: absolute;
  left: -22px;
  top: 4px;
  width: 10px; height: 10px; min-width: 10px;
  background: var(--lbs-listcard-dot-color, #dc2626);
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px var(--lbs-listcard-dot-color, #dc2626);
  margin-top: 0;
  z-index: 2;
}
.lbs-mini-updates--listcard .lbs-mini-updates__item-content{
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}
.lbs-mini-updates--listcard .lbs-mini-updates__time{
  color: #ababab;
  font-size: 0.95em;
  font-weight: 100;
  min-width: 5.5em;
  width: 5.5em;
  flex-shrink: 0;
  white-space: nowrap;
  text-align: left;
  font-family: var(--lbs-font-ui);
}
.lbs-mini-updates--listcard .lbs-mini-updates__title{
  color: #111;
  font-weight: 700;
  font-size: 0.85em;
  line-height: 1.45;
  text-decoration: none;
  white-space: normal;
  word-break: break-word;
  overflow: visible;
  min-width: 0;
  font-family: var(--lbs-font-title);
}
.lbs-mini-updates--listcard .lbs-mini-updates__title:hover{
  color: var(--lbs-listcard-dot-color, #dc2626);
  text-decoration: underline;
}

/* List Card: DOPO hero/primo piano — attaccata direttamente sotto l'immagine */
/* Theme-agnostic: uses .lbs-mini-timeline-anchor as primary target */
.lbs-mini-timeline-anchor + .lbs-mini-updates--listcard,
.jeg_postbig + .lbs-mini-updates--listcard,
.jeg_heroblock + .lbs-mini-updates--listcard,
[class*="jeg_hero"] + .lbs-mini-updates--listcard,
[class*="ahm-block--hero"] + .lbs-mini-updates--listcard {
  margin-top: 0 !important;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 20px !important;
  border-radius: 0;
  box-shadow: none !important;
  position: relative;
  transform: none;
}
/* Fallback: listcard dentro hero */
.lbs-mini-timeline-anchor .lbs-mini-updates--listcard,
.jeg_postbig .lbs-mini-updates--listcard,
.jeg_heroblock .lbs-mini-updates--listcard,
[class*="jeg_hero"] .lbs-mini-updates--listcard,
[class*="ahm-block--hero"] .lbs-mini-updates--listcard {
  /* v5.23.50 — z-index sotto menu sticky JNews (z:10).
     Listcard resta in document flow normale, badge/menu vincono in stacking. */
  z-index: 1;
  margin-top: 0 !important;
  transform: none;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
}
/* No separator between hero and listcard */

/* ==========================================
   OVERLAY CARD su immagine hero (v5.18.6)
   Quando .lbs-mini-timeline-anchor è dentro un wrapper .lbs-anchor-host
   (immagine hero), la mini-timeline diventa una card bianca sovrapposta
   alla parte bassa dell'immagine, come Corriere/Repubblica.
   ========================================== */
.lbs-anchor-host{
  position: relative;
  display: block;
  /* v5.18.10: defensive guard — overlay listcard rendered as absolute child
     must not be clipped by host overflow set by themes/AHM utility classes. */
  overflow: visible;
}
/* AHM 1.19.11+: wrapper non cliccabile dedicato (anchor sibling del link immagine) */
.ahm-hero__media.lbs-anchor-host{
  width: 100%;
}
.ahm-hero__media.lbs-anchor-host > .ahm-hero__img-link{
  display: block;
}
.ahm-hero__media.lbs-anchor-host > .ahm-hero__img-link img{
  display: block;
  width: 100%;
  height: auto;
}
/* v5.19.2: posizionamento della mini-timeline dentro .lbs-anchor-host.
   - listcard / overlay  → SOTTO l'immagine, in flusso normale (card bianca esterna)
   - classic             → DENTRO l'immagine, overlay assoluto bottom-left con
     gradient nero dal basso (riferimento foto 4 Corriere/Repubblica). */
.lbs-anchor-host .lbs-mini-timeline-anchor{
  position: static;
  display: block;
  margin-top: 12px;
  z-index: auto;
  pointer-events: auto;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard{
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.18), 0 1px 3px rgba(0,0,0,0.08);
  padding: 14px 18px 10px;
  margin: 0;
  max-width: 100%;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard .lbs-mini-updates__item:nth-child(n+6){
  display: none;
}

/* === CLASSIC overlay sull'immagine hero (foto 4 target) === */
.lbs-anchor-host:has(.lbs-mini-updates--classic) .lbs-mini-timeline-anchor{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin-top: 0;
  pointer-events: none;
  z-index: 5;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic{
  /* v5.21.7: gradient configurabile via Mirror+ (card_bg). Fallback default storici. */
  background: linear-gradient(to top,
    var(--lbs-mt-card-bg-top, rgba(0,0,0,0.85)) 0%,
    var(--lbs-mt-card-bg-mid, rgba(0,0,0,0.6)) 60%,
    var(--lbs-mt-card-bg-bot, rgba(0,0,0,0)) 100%);
  color: #fff;
  padding: 36px 18px 14px;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: auto;
  max-width: 100%;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__header{
  color: #ffffff; /* v5.19.20: white label (was #dc2626) */
  font-weight: 800;
  font-size: 0.93em; /* v5.19.20: aligned with v5.19.17 base (was 0.78em) */
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0 0 6px 0;
  margin: 0 0 6px 0;
  border-bottom: none;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__dot{
  color: #dc2626;
  width: 14px;
  height: 14px;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__list{
  display: flex !important;
  flex-direction: column !important;
  gap: 2px;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item{
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 3px 0;
  font-size: 0.88em;
  line-height: 1.35;
  border-bottom: none;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item-dot{
  background: #dc2626 !important;
  width: 7px;
  height: 7px;
  min-width: 7px;
  box-shadow: 0 0 6px 1px rgba(220,38,38,0.55);
  margin-top: 0.4em;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__time{
  color: #ababab;
  font-weight: 100;
  font-size: 0.92em;
  min-width: 56px;
  font-family: var(--lbs-font-ui);
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__title{
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  font-family: var(--lbs-font-title);
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__title:hover{
  color: #fff;
  text-decoration: underline;
}
.lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5){
  display: none;
}

/* === Pallini #dc2626 forzati globalmente (regression guard, allineato badge LIVE) === */
.lbs-mini-updates .lbs-mini-updates__item-dot{ background:#dc2626 !important; }

/* Mobile */
@media (max-width: 640px){
  .lbs-anchor-host .lbs-mini-timeline-anchor{
    margin-top: 8px;
  }
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard{
    padding: 12px 14px 8px;
  }
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic{
    padding: 28px 12px 10px;
  }
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item{
    font-size: 0.82em;
  }
}

/* ==========================================
   HORIZONTAL LAYOUT (2×2 grid)
   Modifier class on listcard: --horizontal
   ========================================== */
.lbs-mini-updates--horizontal .lbs-mini-updates__list{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 24px !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  flex-direction: unset !important;
  overflow: visible !important;
}
/* Remove vertical timeline line in horizontal mode */
.lbs-mini-updates--horizontal .lbs-mini-updates__list::before{
  display: none !important;
}
/* Remove last-item mask in horizontal mode */
.lbs-mini-updates--horizontal .lbs-mini-updates__item:last-child::after{
  display: none !important;
}
/* Items in horizontal: static positioning, no absolute dot */
.lbs-mini-updates--horizontal .lbs-mini-updates__item{
  position: relative;
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 8px 0 12px 0 !important;
  flex: none !important;
  scroll-snap-align: unset !important;
  min-width: 0;
}
/* Dot: inline, not absolute */
.lbs-mini-updates--horizontal .lbs-mini-updates__item-dot{
  position: relative !important;
  left: auto !important;
  top: 5px !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  flex-shrink: 0;
  border: none !important;
  box-shadow: none !important;
}
/* Title: allow wrap, max 2 lines — inherit font-size from vertical base */
.lbs-mini-updates--horizontal .lbs-mini-updates__title{
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  white-space: normal !important;
  word-break: break-word;
}
/* Time label — inherit font-size from vertical base */
.lbs-mini-updates--horizontal .lbs-mini-updates__time{
  white-space: nowrap;
}
/* Item content wrapper */
.lbs-mini-updates--horizontal .lbs-mini-updates__item-content{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
/* Full item clickable area — hover underline on desktop */
@media (hover: hover) {
  .lbs-mini-updates--horizontal .lbs-mini-updates__item:hover .lbs-mini-updates__title{
    text-decoration: underline;
  }
}

/* Mobile: horizontal scroll instead of grid */
@media (max-width: 480px) {
  .lbs-mini-updates--horizontal .lbs-mini-updates__list{
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px !important;
    padding-bottom: 8px !important;
  }
  .lbs-mini-updates--horizontal .lbs-mini-updates__item{
    flex: 0 0 70% !important;
    scroll-snap-align: start;
    min-width: 200px;
  }
  /* Hide scrollbar */
  .lbs-mini-updates--horizontal .lbs-mini-updates__list::-webkit-scrollbar{
    display: none;
  }
  .lbs-mini-updates--horizontal .lbs-mini-updates__list{
    scrollbar-width: none;
  }
}

.live-blog__featured-image {
    margin-bottom: 2rem;
    border-radius: 0.5rem;
    overflow: hidden;
}
.live-blog__featured-img {
    width: 100%;
    height: auto;
    display: block;
}

/* ==========================================
   Dual Badge (BREAKING + LIVE)
   ========================================== */
.lbs-dual-badge {
    pointer-events: none;
}
/* Live icon — SVG for pixel-perfect concentricity */
.lbs-live-svg {
    width: 1em;
    height: 1em;
    flex: 0 0 1em;
    overflow: visible;
    vertical-align: middle;
}
.lbs-live-svg .lbs-ring {
    fill: none;
    stroke: #fff;
    stroke-width: 1.5;
    transform-origin: 12px 12px;
    animation: lbs-ring-expand 1.8s ease-out infinite;
}
.lbs-live-svg .lbs-dot {
    fill: #fff;
}
@keyframes lbs-ring-expand {
    0%   { transform: scale(0.95); opacity: 0.95; }
    100% { transform: scale(2.05); opacity: 0; }
}
/* Right block: inline-flex centering for icon + label */
.lbs-dual-badge__right {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-family: inherit;
}
/* Left block: inline-flex for vertical centering */
.lbs-dual-badge__left {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-family: inherit;
}
.lbs-dual-badge__label {
    display: block;
    margin: 0;
    padding: 0;
    line-height: 1;
}

/* v5.23.18 — Live Badge on Thumbnails (NON invasivo).
   Regole minimali: anchor il badge al wrapper esistente del tema/AHM
   (.jnews-thumb / .jeg_thumb / .thumbnail-container / .post-thumbnail / ...).
   NON modifichiamo width/height/overflow/transform/object-fit del wrapper
   per preservare hover/zoom originale del tema. */
.live-thumbnail-wrapper {
    position: relative;
}
/* L'host (sia wrapper tema riusato sia fallback div) deve solo garantire
   il containing block per il badge assoluto. Niente più. */
.lbs-host.lbs-has-badge,
.lbs-featured-media-badge-host.lbs-has-badge,
div[data-lbs-badge-host="featured"] {
    position: relative;
}
.lbs-dual-badge {
    pointer-events: none;
    position: absolute;
    /* v5.23.50 — abbassato sotto menu sticky JNews (z:10) per evitare
       sovrapposizione del badge sul menu durante lo scroll della homepage. */
    z-index: 9;
    display: inline-flex;
    align-items: stretch;
    font-family: inherit;
}
/* v5.23.19 — CSS cleanup: rimosse regole legacy
   (overflow:visible / clip-path:none / contain:none / z-index:9999) che
   alteravano hover, layout AHM/JNews e sovrapponevano il badge al menu.
   Il badge è ancorato al solo host con position:relative e z-index:20.
   Eventuali esigenze tema-specifiche vanno gestite via host wrapper PHP. */
.live-badge-overlay {
    position: absolute !important;
    top: var(--lbs-badge-top, auto) !important;
    bottom: var(--lbs-badge-bottom, 10px) !important;
    left: var(--lbs-badge-left, 10px) !important;
    right: var(--lbs-badge-right, auto) !important;
    /* v5.23.50 — sotto menu sticky JNews (z:10). */
    z-index: 9 !important;
    pointer-events: none;
}
.lbs-dual-badge[data-variant="compact"] {
    gap: 0 !important;
}
.lbs-dual-badge[data-variant="compact"] > :not(.lbs-dual-badge__right):not(.lbs-label-right) {
    display: none !important;
}
.live-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
    color: #fff;
    font-family: inherit;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 6px 14px;
    border-radius: 6px;
    line-height: 1;
    white-space: nowrap;
}
.live-badge-pill__dot {
    position: relative;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    display: inline-flex;
    flex-shrink: 0;
    animation: none;
}
.live-badge-pill__dot::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #fff;
    animation: lbs-ring-pulse-w 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes lbs-ring-pulse-w {
    0% { transform: scale(1); opacity: 0.7; }
    50% { transform: scale(2); opacity: 0; }
    100% { transform: scale(2); opacity: 0; }
}
.lbs-live .post-thumbnail,
.lbs-live .entry-thumbnail,
.lbs-live a.post-thumbnail,
.lbs-live figure.wp-block-post-featured-image,
.lbs-live .wp-block-post-featured-image,
.lbs-live .thumbnail,
.lbs-live .news-thumb,
.lbs-live .jeg_thumb,
.lbs-live .jeg_post_thumbnail,
.lbs-live .jeg_featured,
.lbs-live .jeg_thumb_wrapper,
.lbs-live [class*="jeg_thumb"] {
    position: relative;
}
.single-live_blog .thumbnail-container,
.single-live_blog .thumbnail-container img,
.single-live_blog .thumbnail-container .wp-post-image,
.single-live_blog .jeg_thumb .thumbnail-container,
.single-live_blog .jeg_thumb .thumbnail-container img,
.single-live_blog .jeg_thumb .thumbnail-container .wp-post-image {
    width: 100% !important;
    max-width: none !important;
}
/* JNews wrappa l'<img> in .live-thumbnail-wrapper (vedi DOM v5.19.4):
   .thumbnail-container > .live-thumbnail-wrapper > img.wp-post-image
   Ancoriamo ANCHE il wrapper intermedio per garantire che l'img filli sempre
   il container 3:2, indipendentemente dalla risoluzione. */
.single-live_blog .thumbnail-container > .live-thumbnail-wrapper,
.single-live_blog .thumbnail-container .live-thumbnail-wrapper.lbs-featured-media-badge-host,
.single-live_blog .jeg_thumb .thumbnail-container > .live-thumbnail-wrapper,
.single-live_blog .jeg_thumb .thumbnail-container .live-thumbnail-wrapper.lbs-featured-media-badge-host {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}
.single-live_blog .thumbnail-container img,
.single-live_blog .thumbnail-container .wp-post-image,
.single-live_blog .jeg_thumb .thumbnail-container img,
.single-live_blog .jeg_thumb .thumbnail-container .wp-post-image {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
}
/* Fallback CSS ::after — mostrato SOLO se il PHP non ha iniettato .lbs-dual-badge o .live-badge-overlay */
.lbs-live .jeg_thumb:not(:has(.lbs-dual-badge)):not(:has(.live-badge-overlay))::after,
.lbs-live .jeg_post_thumbnail:not(:has(.lbs-dual-badge)):not(:has(.live-badge-overlay))::after,
.lbs-live .post-thumbnail:not(:has(.lbs-dual-badge)):not(:has(.live-badge-overlay))::after,
.lbs-live .thumbnail:not(:has(.lbs-dual-badge)):not(:has(.live-badge-overlay))::after,
.lbs-live figure.wp-block-post-featured-image:not(:has(.lbs-dual-badge)):not(:has(.live-badge-overlay))::after,
.lbs-live [class*="jeg_thumb"]:not(:has(.lbs-dual-badge)):not(:has(.live-badge-overlay))::after {
    content: "● LIVE";
    position: absolute;
    bottom: -16px;
    left: 0;
    background: #dc2626;
    color: #fff;
    font-family: var(--lbs-font-ui);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 8px 14px;
    line-height: 1.2;
    white-space: nowrap;
    /* v5.23.50 — sotto menu sticky JNews (z:10). */
    z-index: 9;
    pointer-events: none;
}
/* Fallback per articoli .lbs-live senza alcun container thumbnail trovato dal JS.
   v5.19.1: escludi anche i wrapper AHM (hero overlay/media + lbs-anchor-host)
   altrimenti il fallback "● IN DIRETTA" appare sopra la mini-timeline. */
.lbs-live:not(:has(.live-badge-overlay)):not(:has(.jeg_thumb)):not(:has(.post-thumbnail)):not(:has(.thumbnail)):not(:has(.ahm-hero__media)):not(:has(.ahm-hero-overlay)):not(:has(.lbs-anchor-host)):not(:has(.lbs-dual-badge))::before {
    content: "● IN DIRETTA";
    position: absolute;
    top: var(--lbs-badge-top, auto);
    bottom: var(--lbs-badge-bottom, 10px);
    left: var(--lbs-badge-left, 10px);
    right: var(--lbs-badge-right, auto);
    background: #dc2626;
    color: #fff;
    font-family: var(--lbs-font-ui);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 5px 12px;
    border-radius: 4px;
    line-height: 1;
    white-space: nowrap;
    /* v5.23.50 — sotto menu sticky JNews (z:10). */
    z-index: 9;
    pointer-events: none;
}
.lbs-live:not(:has(.live-badge-overlay)):not(:has(.jeg_thumb)):not(:has(.post-thumbnail)):not(:has(.thumbnail)):not(:has(.ahm-hero__media)):not(:has(.ahm-hero-overlay)):not(:has(.lbs-anchor-host)):not(:has(.lbs-dual-badge)) {
    position: relative;
}

/* v5.23.23 — Single safety: nessun fallback badge CSS sulla featured del single. */
.single-live_blog .lbs-live .jeg_thumb::after,
.single-live_blog .lbs-live .jeg_post_thumbnail::after,
.single-live_blog .lbs-live .post-thumbnail::after,
.single-live_blog .lbs-live .thumbnail::after,
.single-live_blog .lbs-live figure.wp-block-post-featured-image::after,
.single-live_blog .lbs-live [class*="jeg_thumb"]::after,
.single-live_blog .lbs-live::before {
    content: none !important;
    display: none !important;
}

/* v5.23.24 — BUG 3: legacy pill "● IN DIRETTA" / "● LIVE" gating.
   Il fallback CSS legacy non deve MAI apparire fuori dal single liveblog.
   In home/blog/archive/category/tag/AHM/widget il dual badge dell'immagine
   (.lbs-dual-badge) è la sola sorgente di verità. */
body.home .lbs-live .jeg_thumb::after,
body.blog .lbs-live .jeg_thumb::after,
body.archive .lbs-live .jeg_thumb::after,
body.category .lbs-live .jeg_thumb::after,
body.tag .lbs-live .jeg_thumb::after,
body.home .lbs-live .jeg_post_thumbnail::after,
body.blog .lbs-live .jeg_post_thumbnail::after,
body.archive .lbs-live .jeg_post_thumbnail::after,
body.category .lbs-live .jeg_post_thumbnail::after,
body.tag .lbs-live .jeg_post_thumbnail::after,
body.home .lbs-live .post-thumbnail::after,
body.blog .lbs-live .post-thumbnail::after,
body.archive .lbs-live .post-thumbnail::after,
body.category .lbs-live .post-thumbnail::after,
body.tag .lbs-live .post-thumbnail::after,
body.home .lbs-live .thumbnail::after,
body.blog .lbs-live .thumbnail::after,
body.archive .lbs-live .thumbnail::after,
body.category .lbs-live .thumbnail::after,
body.tag .lbs-live .thumbnail::after,
body.home .lbs-live figure.wp-block-post-featured-image::after,
body.blog .lbs-live figure.wp-block-post-featured-image::after,
body.archive .lbs-live figure.wp-block-post-featured-image::after,
body.category .lbs-live figure.wp-block-post-featured-image::after,
body.tag .lbs-live figure.wp-block-post-featured-image::after,
body.home .lbs-live [class*="jeg_thumb"]::after,
body.blog .lbs-live [class*="jeg_thumb"]::after,
body.archive .lbs-live [class*="jeg_thumb"]::after,
body.category .lbs-live [class*="jeg_thumb"]::after,
body.tag .lbs-live [class*="jeg_thumb"]::after,
body.home .lbs-live::before,
body.blog .lbs-live::before,
body.archive .lbs-live::before,
body.category .lbs-live::before,
body.tag .lbs-live::before {
    content: none !important;
    display: none !important;
}
/* Anche dentro blocchi AHM e widget noti: niente legacy pill. */
.ahm-block .lbs-live::before,
.ahm-block .lbs-live .jeg_thumb::after,
.ahm-block .lbs-live .post-thumbnail::after,
.ahm-block .lbs-live .thumbnail::after,
[class*="jeg_postblock_"] .lbs-live::before,
[class*="jeg_postblock_"] .lbs-live .jeg_thumb::after,
.live-thumbnail-wrapper.lbs-live::before,
aside .lbs-live::before,
aside .lbs-live .jeg_thumb::after,
aside .lbs-live .post-thumbnail::after,
aside .lbs-live .thumbnail::after {
    content: none !important;
    display: none !important;
}

/* v5.23.36 — BUG 4: widget/sidebar/latest dual badge compact-list constraints.
   Per thumbnail piccole il badge deve rimanere DENTRO i bounds della card,
   senza translate negativi e senza forzare overflow:visible sul wrapper tema.
   IMPORTANTE: NON azzerare padding/font-size sul wrapper esterno
   (provoca collasso visivo del badge). Le regole compact stanno sui figli
   `.lbs-label-left` / `.lbs-label-right` più sotto. */
[data-lbs-context="widget"] .lbs-dual-badge,
[data-lbs-context="related"] .lbs-dual-badge,
aside .lbs-dual-badge,
.lbs-dual-badge--context-widget {
    /* niente offset negativi: clamp dentro la thumbnail */
    inset-inline-start: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    max-width: 100% !important;
    line-height: 1 !important;
    border-radius: 3px;
}
/* v5.23.35 — Posizionamento verticale differenziato per widget vs categoria.
   - Widget mini reali (sidebar `aside`, classe JS `--context-widget`,
     blocco JNews `.author_meta_sidebar`, `.jeg_postblock_3`): la thumbnail
     è ~70px alta, quindi il badge DEVE stare a `top:0` per restare dentro.
   - Pagine categoria/archive con thumb grandi che il PHP marca
     `data-lbs-context="widget"` per size theme-named (es. jnews-360x180):
     mantengono `top: var(--lbs-offset-y, 40px)` come la home.
*/
aside .lbs-dual-badge,
.lbs-dual-badge--context-widget,
.author_meta_sidebar .lbs-dual-badge,
.jeg_postblock_3 .lbs-dual-badge,
[class*="jeg_postblock_3"] .lbs-dual-badge,
.jeg_pl_xs .lbs-dual-badge,
.jeg_pl_sm .lbs-dual-badge,
[class*="jeg_pl_xs"] .lbs-dual-badge,
[class*="jeg_pl_sm"] .lbs-dual-badge {
    bottom: auto !important;
}
[data-lbs-context="widget"] .lbs-dual-badge,
[data-lbs-context="related"] .lbs-dual-badge {
    top: var(--lbs-offset-y, 40px) !important;
    bottom: auto !important;
}
/* Widget mini (aside/JS class) vince su data-lbs-context="widget" PHP
   quando entrambi sono presenti (caso sidebar). */
aside [data-lbs-context="widget"] .lbs-dual-badge,
aside .lbs-dual-badge--context-widget,
.author_meta_sidebar [data-lbs-context="widget"] .lbs-dual-badge,
[class*="jeg_postblock_3"] [data-lbs-context="widget"] .lbs-dual-badge {
    /* v5.23.41 — Widget mini reali (sidebar/postblock_3/Ultime Notizie):
       badge staccato dal top di 6px (non incollato all'angolo) e
       allineato a sinistra. Thumbnail ~70px → 6px è dentro i bounds. */
    top: 6px !important;
}
/* v5.23.41 — Anche `.lbs-dual-badge--context-widget` standalone (JS-set)
   nei widget mini: top:6px per staccarlo dall'angolo.
   Il JS rimuove la classe per gli hero (vedi PHP riga 3149-3150),
   quindi se la classe è ancora presente è un widget mini reale. */
.jeg_postblock_3 .lbs-dual-badge--context-widget,
[class*="jeg_postblock_3"] .lbs-dual-badge--context-widget,
.jeg_pl_xs .lbs-dual-badge--context-widget,
.jeg_pl_sm .lbs-dual-badge--context-widget,
[class*="jeg_pl_xs"] .lbs-dual-badge--context-widget,
[class*="jeg_pl_sm"] .lbs-dual-badge--context-widget,
aside .lbs-dual-badge--context-widget {
    top: 6px !important;
}
[data-lbs-context="widget"] .lbs-dual-badge .lbs-label-left,
[data-lbs-context="widget"] .lbs-dual-badge .lbs-label-right,
aside .lbs-dual-badge .lbs-label-left,
aside .lbs-dual-badge .lbs-label-right,
.lbs-dual-badge--context-widget .lbs-label-left,
.lbs-dual-badge--context-widget .lbs-label-right {
    padding: 3px 6px !important;
    font-size: 9px !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
/* Widget: forza compact (solo lato destro "LIVE/DIRETTA") */
[data-lbs-context="widget"] .lbs-dual-badge .lbs-label-left,
aside .lbs-dual-badge .lbs-label-left,
.lbs-dual-badge--context-widget .lbs-label-left {
    display: none !important;
}
[data-lbs-context="widget"] .lbs-dual-badge .lbs-label-right,
aside .lbs-dual-badge .lbs-label-right,
.lbs-dual-badge--context-widget .lbs-label-right,
.lbs-dual-badge[data-variant="compact"] > .lbs-label-right {
    display: inline-flex !important;
}

/* Badge inline vicino alla data nei listing */
.lbs-inline-live{
    display:inline-flex;align-items:center;gap:4px;
    background:#dc2626;color:#fff;
    font-family:var(--lbs-font-ui);
    font-size:0.6rem;font-weight:700;text-transform:uppercase;
    letter-spacing:0.08em;padding:3px 8px;border-radius:3px;
    line-height:1;white-space:nowrap;vertical-align:middle;
}
.lbs-inline-live::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:#fff;display:inline-block;flex-shrink:0;
    animation:lbs-pill-pulse 1.5s ease-in-out infinite;
}
.lbs-inline-before{margin-right:6px}
.lbs-inline-after{margin-left:6px}

/* Scritta "IN AGGIORNAMENTO" per la home */
.lbs-live-text{display:inline-block;color:#ff0000;font-weight:700;font-size:0.9em;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px}

/* Scritta in home, allineata a sinistra sotto la data */
.home .lbs-live .posted-on, .blog .lbs-live .posted-on, .archive .lbs-live .posted-on{display:block;text-align:left}
.home .lbs-live .posted-on::after, .blog .lbs-live .posted-on::after, .archive .lbs-live .posted-on::after{
  content:"IN AGGIORNAMENTO";
  display:block;
  margin-top:4px;
  color:#ff0000;font-weight:700;font-size:0.85em;text-transform:uppercase;letter-spacing:.5px;white-space:normal;margin-left:0;text-align:left
}
/* Fallback: se il tema non ha .posted-on, prova su .entry-meta */
.home .lbs-live .entry-meta, .blog .lbs-live .entry-meta, .archive .lbs-live .entry-meta{display:block;text-align:left}
.home .lbs-live .entry-meta::after, .blog .lbs-live .entry-meta::after, .archive .lbs-live .entry-meta::after{
  content:"IN AGGIORNAMENTO";
  display:block;
  margin-top:4px;
  color:#ff0000;font-weight:700;font-size:0.85em;text-transform:uppercase;letter-spacing:.5px;white-space:normal;margin-left:0;text-align:left
}

/* Gutenberg block themes: aggiungi la scritta dopo il blocco data */
.home .lbs-live .wp-block-post-date::after,
.blog .lbs-live .wp-block-post-date::after,
.archive .lbs-live .wp-block-post-date::after{
  content:"IN AGGIORNAMENTO";
  color:#ff0000;font-weight:700;font-size:0.85em;text-transform:uppercase;letter-spacing:.5px;display:block;margin-top:4px;text-align:left;margin-left:0
}

/* Inserisci la scritta all'inizio dell'excerpt (sopra il paragrafo) */
.home .lbs-live .wp-block-post-excerpt__excerpt::before,
.blog .lbs-live .wp-block-post-excerpt__excerpt::before,
.archive .lbs-live .wp-block-post-excerpt__excerpt::before,
.home .lbs-live .entry-summary p:first-child::before,
.blog .lbs-live .entry-summary p:first-child::before,
.archive .lbs-live .entry-summary p:first-child::before{
  content:"IN AGGIORNAMENTO";
  color:#ff0000;font-weight:700;font-size:0.9em;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:6px
}

/* Fallback: aggiungi la scritta sotto la data per markup generici con <time> */
.home .lbs-live time.entry-date::after,
.blog .lbs-live time.entry-date::after,
.archive .lbs-live time.entry-date::after,
.home .lbs-live time::after,
.blog .lbs-live time::after,
.archive .lbs-live time::after{
  content:"IN AGGIORNAMENTO";
  display:block;
  margin-top:4px;
  color:#ff0000;font-weight:700;font-size:0.85em;text-transform:uppercase;letter-spacing:.5px;text-align:left;margin-left:0
}

/* Fallback excerpt per builder (GenerateBlocks ecc.): inserisci sopra il primo paragrafo del teaser */
.home .lbs-live .gb-text p:first-child::before,
.blog .lbs-live .gb-text p:first-child::before,
.archive .lbs-live .gb-text p:first-child::before{
  content:"IN AGGIORNAMENTO";
  display:block;
  margin-bottom:6px;
  color:#ff0000;font-weight:700;font-size:0.9em;text-transform:uppercase;letter-spacing:.5px
}

/* ═══ Persistent "new updates" banner (AP-style) ═══ */
/* Customise via CSS custom properties on #live-blog or :root:
   --lbs-updates-banner-bg    (default: #dc2626)
   --lbs-updates-banner-text  (default: #fff)
   --lbs-updates-banner-dot   (default: #fff)
*/
.lbs-new-updates-banner{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  display:flex;align-items:center;gap:8px;
  padding:10px 20px;
  background:var(--lbs-updates-banner-bg, #dc2626);color:var(--lbs-updates-banner-text, #fff);
  font-size:.875rem;font-weight:700;
  border-radius:24px;
  box-shadow:0 4px 16px color-mix(in srgb, var(--lbs-updates-banner-bg, #dc2626) 35%, transparent);
  opacity:0;transition:opacity .3s,transform .3s;
  z-index:9999;pointer-events:none;
  white-space:nowrap;cursor:pointer;
  user-select:none;
}
.lbs-banner--visible{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.lbs-banner--visible:hover{filter:brightness(.88);box-shadow:0 6px 20px color-mix(in srgb, var(--lbs-updates-banner-bg, #dc2626) 45%, transparent)}
.lbs-banner__dot{width:8px;height:8px;border-radius:50%;background:var(--lbs-updates-banner-dot, #fff);flex-shrink:0;animation:poll-blink 1.5s infinite}
.lbs-banner__text{line-height:1}

/* Legacy toast (removed — replaced by persistent banner) */

/* Liveblog badges (breaking / developing) */
.liveblog-badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:3px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-bottom:6px;
  line-height:1.4;
}
.liveblog-badge--breaking{
  background-color:#dc2626;
  color:#ffffff;
}
.liveblog-badge--developing{
  background-color:#f59e0b;
  color:#ffffff;
}

/* === CLASSIC mini-timeline: gradient nero dal basso (theme-agnostic, v5.19.8) ===
   Garantisce che lo stile classic abbia SEMPRE il gradient nero + testo bianco,
   indipendentemente dal wrapper DOM del tema (JNews, AHM, custom). Override forzato
   per evitare che background del tema (es. azzurro JNews thumbnail-container) vinca. */
.lbs-mini-updates.lbs-mini-updates--classic{
  /* v5.21.7: gradient configurabile via Mirror+ (card_bg). */
  background: linear-gradient(to top,
    var(--lbs-mt-card-bg-top, rgba(0,0,0,0.85)) 0%,
    var(--lbs-mt-card-bg-mid, rgba(0,0,0,0.6)) 60%,
    var(--lbs-mt-card-bg-bot, rgba(0,0,0,0)) 100%) !important;
  color: #fff !important;
  padding: 36px 18px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__header{
  color: var(--lbs-mt-header-color-d, #ffffff) !important; /* v5.21.0: configurable via API */
  font-weight: 800 !important;
  font-size: var(--lbs-mt-header-size-d, 0.93em) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0 0 6px 0 !important;
  margin: 0 0 6px 0 !important;
  border-bottom: none !important;
}
.lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__time{
  color: var(--lbs-mt-time-color-d, #ffffff) !important; /* v5.21.0: configurable */
  font-weight: 200 !important;
  font-size: var(--lbs-mt-time-size-d, 0.85em) !important;
  font-family: var(--lbs-font-ui) !important;
}
.lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__title{
  color: var(--lbs-mt-title-color-d, #c9c9c9) !important; /* v5.21.0: configurable */
  font-weight: 600 !important;
  font-size: var(--lbs-mt-title-size-d, 1.07em) !important;
  font-family: var(--lbs-font-title) !important;
  text-decoration: none !important;
}
.lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__title:hover{
  color: #fca5a5 !important;
  text-decoration: underline !important;
}
.lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__item-dot{
  background: #dc2626 !important;
  box-shadow: 0 0 6px 1px rgba(220,38,38,0.55) !important;
}
.lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5){
  display: none !important;
}

/* === CLASSIC overlay forzato dentro .thumbnail-container (v5.19.10) ===
   Foto 2 target: il classic deve apparire DENTRO l'immagine in basso a sinistra
   (overlay assoluto con gradient nero), anche quando non è wrappato in
   .lbs-anchor-host. JNews single live post usa .thumbnail-container come parent
   diretto del classic → forziamo position:absolute + bottom:0. */
.thumbnail-container,
.jeg_thumb .thumbnail-container,
.single-live_blog .thumbnail-container{
  position: relative !important;
}
/* === v5.23.56: prevent badge clipping in single live hero ===
   JNews applies overflow:hidden on .thumbnail-container, which clips
   .lbs-dual-badge when it sits at top/left offsets (badge "DIRETT…" cut off).
   When the container hosts a live badge, force overflow:visible so the badge
   can render fully, including any negative offsets. The badge has its own
   rounded corners and pointer-events:none, so it won't break layout. */
.single-live_blog .thumbnail-container:has(> .lbs-dual-badge),
.single-live_blog .thumbnail-container:has(.live-thumbnail-wrapper > .lbs-dual-badge),
.single-live_blog .jeg_thumb .thumbnail-container:has(.lbs-dual-badge),
.single-live_blog .live-thumbnail-wrapper.lbs-featured-media-badge-host{
  overflow: visible !important;
}
.thumbnail-container > .lbs-mini-timeline-anchor:has(.lbs-mini-updates--classic),
.thumbnail-container .lbs-mini-timeline-anchor:has(.lbs-mini-updates--classic),
.jeg_thumb .lbs-mini-timeline-anchor:has(.lbs-mini-updates--classic){
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  z-index: 5 !important;
  pointer-events: auto;
}
/* === LISTCARD + OVERLAY mini-timeline: palette/font theme-agnostic (v5.19.9) ===
   Garantisce che listcard e overlay abbiano SEMPRE palette #dc2626 (allineata badge LIVE),
   font di sistema (--lbs-font-title / --lbs-font-ui) e tipografia coerente,
   indipendentemente dal wrapper DOM o dagli override del tema (JNews, AHM, custom).
   Usa selettore .lbs-mini-updates.lbs-mini-updates--<variant> con !important per battere
   qualsiasi cascade del tema. Lo stile classic è escluso (mantiene gradient nero + #ef4444). */
.lbs-mini-updates.lbs-mini-updates--listcard,
.lbs-mini-updates.lbs-mini-updates--overlay{
  background: #ffffff !important;
  color: #111 !important;
}
.lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__header,
.lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__header{
  color: var(--lbs-mt-header-color-d, var(--lbs-listcard-dot-color, #dc2626)) !important; /* v5.21.0 */
  font-size: var(--lbs-mt-header-size-d, 1.13em) !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  font-family: var(--lbs-font-ui) !important;
  border-bottom: none !important;
}
.lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__time,
.lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__time{
  color: var(--lbs-mt-time-color-d, #ababab) !important; /* v5.21.0 */
  font-size: var(--lbs-mt-time-size-d, 0.95em) !important;
  font-weight: 100 !important;
  font-family: var(--lbs-font-ui) !important;
  white-space: nowrap !important;
}
.lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__title,
.lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__title{
  color: var(--lbs-mt-title-color-d, #111) !important; /* v5.21.0 */
  font-size: var(--lbs-mt-title-size-d, 0.85em) !important;
  font-weight: 700 !important;
  font-family: var(--lbs-font-title) !important;
  text-decoration: none !important;
  line-height: 1.45 !important;
}
.lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__title:hover,
.lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__title:hover{
  color: var(--lbs-listcard-dot-color, #dc2626) !important;
  text-decoration: underline !important;
}
.lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__item-dot,
.lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__item-dot{
  background: var(--lbs-listcard-dot-color, #dc2626) !important;
  box-shadow: 0 0 0 1px var(--lbs-listcard-dot-color, #dc2626) !important;
  border: 2px solid #fff !important;
}


/* Mini-timeline updates in listings (Al Jazeera style) */
.lbs-mini-updates{
  margin-top:12px;
  padding:0;
  border-top:0px solid #e5e7eb;
}
.lbs-mini-updates__header{
  display:flex;align-items:center;gap:6px;
  color:#dc2626;font-weight:700;font-size:0.89em;
  text-transform:uppercase;letter-spacing:0.5px;
  padding:10px 0 6px 0;
  font-family:var(--lbs-font-ui);
}
.lbs-mini-updates__dot{
  width:18px;height:18px;
  display:inline-block;
  flex-shrink:0;
  color:#dc2626;
  vertical-align:middle;
  overflow:visible;
}
.lbs-mini-updates__list{
  list-style:none !important;
  margin:0 !important;padding:0 !important;
}
.lbs-mini-updates__item{
  display:flex;align-items:baseline;gap:8px;
  padding:5px 0;font-size:0.89em;line-height:1.4;
  border-bottom:none;
}
.lbs-mini-updates__item-dot{
  width:8px;height:8px;min-width:8px;border-radius:50%;
  background:#dc2626;display:inline-block;
  margin-top:0.35em;flex-shrink:0;
  box-shadow:0 0 6px 2px rgba(220,38,38,0.55);
}
.lbs-mini-updates__time{
  color:#ababab;font-size:1.04em;white-space:nowrap;
  min-width:60px;
  font-family:var(--lbs-font-ui);
  font-weight:600;
}
.lbs-mini-updates__title{
  color:#111827;text-decoration:none;font-weight:700;
  font-family:var(--lbs-font-title);
}
.lbs-mini-updates__title:hover{
  color:#dc2626;text-decoration:underline;
}

/* ==========================================
   OVERLAY style: card bianca stile Google/BBC
   ========================================== */
.lbs-mini-updates--overlay{
  margin-top: 0;
  padding:16px 20px 12px;
  background:#ffffff !important;
  border-radius:10px;
  box-shadow:0 4px 20px rgba(0,0,0,0.12), 0 1px 4px rgba(0,0,0,0.08);
  border-top:none;
  position:relative;
  z-index:10;
  margin-left:16px;
  margin-right:16px;
}
/* v5.19.6: allineato a listcard per coerenza visiva (foto 2/3 target) */
.lbs-mini-updates--overlay .lbs-mini-updates__header{
  color: var(--lbs-listcard-dot-color, #dc2626);
  font-size:1.13em;
  font-weight:800;
  letter-spacing:0.04em;
  padding:0 0 8px 0;
  border-bottom:none;
  margin-bottom:0;
  font-family:var(--lbs-font-ui);
}
.lbs-mini-updates--overlay .lbs-mini-updates__dot{
  width:18px;height:18px;
  color: var(--lbs-listcard-dot-color, #dc2626);
}
.lbs-mini-updates--overlay .lbs-mini-updates__list{
  display:flex !important;
  flex-direction:column !important;
  overflow:visible !important;
  position:relative;
  padding-left:22px !important;
  margin-left:6px !important;
}
.lbs-mini-updates--overlay .lbs-mini-updates__list::before{
  content:"";
  position:absolute;
  left:5px;
  top:6px;
  bottom:0;
  width:1px;
  background: color-mix(in srgb, var(--lbs-listcard-dot-color, #dc2626) 20%, #e5e7eb);
}
.lbs-mini-updates--overlay .lbs-mini-updates__item{
  display:flex;
  align-items:flex-start;
  gap:0;
  padding:0 0 10px 0;
  font-size:1.13em;
  line-height:1.4;
  flex:none !important;
  scroll-snap-align:unset !important;
  background:transparent !important;
  border-radius:0 !important;
  min-width:0;
  position:relative;
}
.lbs-mini-updates--overlay .lbs-mini-updates__item:nth-child(n+5){
  display:none !important;
}
.lbs-mini-updates--overlay .lbs-mini-updates__item:last-child{
  padding-bottom:0;
}
.lbs-mini-updates--overlay .lbs-mini-updates__item + .lbs-mini-updates__item{
  border-top:none;
}
.lbs-mini-updates--overlay .lbs-mini-updates__item-dot{
  position:absolute;
  left:-22px;
  top:4px;
  width:10px;height:10px;min-width:10px;
  background: var(--lbs-listcard-dot-color, #dc2626) !important;
  border:2px solid #fff;
  box-shadow:0 0 0 1px var(--lbs-listcard-dot-color, #dc2626);
  margin-top:0;
  z-index:2;
}
.lbs-mini-updates--overlay .lbs-mini-updates__item-content{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:6px;
  min-width:0;
}
.lbs-mini-updates--overlay .lbs-mini-updates__time{
  color:#ababab;
  font-size:0.95em;
  font-weight:100;
  min-width:5.5em;
  width:5.5em;
  flex-shrink:0;
  white-space:nowrap;
  text-align:left;
  font-family:var(--lbs-font-ui);
}
.lbs-mini-updates--overlay .lbs-mini-updates__title{
  color:#111;
  font-weight:700;
  font-size:0.85em;
  line-height:1.45;
  text-decoration:none;
  white-space:normal;
  word-break:break-word;
  overflow:visible;
  min-width:0;
  font-family:var(--lbs-font-title);
}
.lbs-mini-updates--overlay .lbs-mini-updates__title:hover{
  color: var(--lbs-listcard-dot-color, #dc2626);
  text-decoration:underline;
}

/* Overlay: DOPO hero/primo piano — si sovrappone all'immagine dall'esterno */
/* Theme-agnostic: .lbs-mini-timeline-anchor as primary, JNews as fallback */
.lbs-mini-timeline-anchor + .lbs-mini-updates--overlay,
.jeg_postbig + .lbs-mini-updates--overlay,
.jeg_heroblock + .lbs-mini-updates--overlay,
[class*="jeg_hero"] + .lbs-mini-updates--overlay,
[class*="ahm-block--hero"] + .lbs-mini-updates--overlay {
  background:#ffffff !important;
  box-shadow:0 4px 8px rgba(0,0,0,0.12), 0 1px 4px rgba(0,0,0,0.08);
  margin-top: var(--lbs-overlay-offset, -60px);
  margin-bottom: 33px;
  margin-left:20px;
  margin-right:20px;
  position: relative;
  /* v5.23.50 — sotto menu sticky JNews (z:10). */
  z-index: 1;
  transform: none;
}
/* Fallback: overlay ancora dentro hero (vecchio markup) */
.lbs-mini-timeline-anchor .lbs-mini-updates--overlay,
.jeg_postbig .lbs-mini-updates--overlay,
.jeg_heroblock .lbs-mini-updates--overlay,
[class*="jeg_hero"] .lbs-mini-updates--overlay,
[class*="ahm-block--hero"] .lbs-mini-updates--overlay {
  background:#ffffff !important;
  box-shadow:0 4px 8px rgba(0,0,0,0.12), 0 1px 4px rgba(0,0,0,0.08);
  margin-top: 0;
  transform: translateY(var(--lbs-overlay-offset, -60px));
  margin-bottom: var(--lbs-overlay-offset, -60px);
  margin-left:20px;
  margin-right:20px;
}
/* v5.23.21 — RIMOSSO: forzature overflow:unset sui wrapper JNews/AHM.
   Causavano la rottura dell'hover/zoom originale del tema (transform:scale
   su .jeg_thumb img richiede overflow:hidden sul wrapper).
   Il badge è ancorato su .lbs-host.lbs-has-badge { position:relative }
   senza alterare overflow del tema. */

/* ==========================================
   GLOBAL hero title/badge fixes — prevent JNews
   from truncating at ANY viewport width
   ========================================== */

/* Force overflow visible ONLY on specific containers that need it for badge/overlay */
/* DO NOT use wildcard * — it breaks hero layout and causes content to overflow onto news below */

/* Titolo hero: no troncamento — SOLO su post live */
.lbs-live .jeg_post_title,
.lbs-live .jeg_post_title a{
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  max-height: none !important;
  height: auto !important;
  text-overflow: unset !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* Post info: overflow visibile — SOLO su post live */
.lbs-live .jeg_post_info{
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}

/* Titolo e meta sopra il gradient — SOLO su post live */
.lbs-live .jeg_post_title,
.lbs-live .jeg_post_meta{
  position: relative !important;
  z-index: 2 !important;
}

/* ==========================================
   CLASSIC overlay sull'immagine hero (v5.19.15)
   FIX REGRESSIONE HOME CATEGORIE:
   Rimosse regole strutturali globali su [class*="jeg_hero"] / .jeg_postbig /
   .jeg_heroblock che alteravano position/overflow dei blocchi hero del tema
   JNews (es. .jeg_hero_wrapper, .jeg_heroblock_wrapper) anche su post NON live,
   rompendo i 4 quadranti a destra delle home categorie.
   Strategia: position:relative ancorato SOLO al wrapper plugin-owned
   (.lbs-anchor-host) o a contenitori AHM dedicati. Mai più ai blocchi JNews
   strutturali del tema.
   ========================================== */
.lbs-anchor-host,
[class*="ahm-block--hero"],
.ahm-hero__media{
  position: relative;
}
.lbs-anchor-host .lbs-mini-timeline-anchor:has(.lbs-mini-updates--classic),
[class*="ahm-block--hero"] .lbs-mini-timeline-anchor:has(.lbs-mini-updates--classic),
.ahm-hero__media .lbs-mini-timeline-anchor:has(.lbs-mini-updates--classic){
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  z-index: 5;
  pointer-events: none;
}
.jeg_postbig .lbs-mini-updates--classic,
.jeg_heroblock .lbs-mini-updates--classic,
[class*="jeg_hero"] .lbs-mini-updates--classic,
[class*="ahm-block--hero"] .lbs-mini-updates--classic,
.ahm-hero__media .lbs-mini-updates--classic{
  /* v5.21.7: gradient configurabile via Mirror+ (card_bg) anche in hero JNews/AHM. */
  background: linear-gradient(to top,
    var(--lbs-mt-card-bg-top, rgba(0,0,0,0.85)) 0%,
    var(--lbs-mt-card-bg-mid, rgba(0,0,0,0.6)) 60%,
    var(--lbs-mt-card-bg-bot, rgba(0,0,0,0)) 100%) !important;
  /* v5.21.6: removed `color:#fff !important` so child elements honour Mirror+ vars
     (header/title/time). Background gradient kept for legibility on hero photos. */
  color: var(--lbs-mt-title-color-d, #ffffff);
  padding: 36px 18px 14px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  pointer-events: auto;
  border-top-color: transparent;
}
.jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__header,
.jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__header,
[class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__header,
[class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__header,
.ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__header{
  /* v5.21.6: read Mirror+ var with white fallback so hero context honours user color */
  color: var(--lbs-mt-header-color-d, #ffffff);
  font-weight:800;
  font-size: var(--lbs-mt-header-size-d, 0.93em);
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:0 0 6px 0;
  margin:0 0 6px 0;
  border-bottom:none;
}
.jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__time,
.jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__time,
[class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__time,
[class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__time,
.ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__time{
  /* v5.21.6: Mirror+ controllable */
  color: var(--lbs-mt-time-color-d, #ababab);
  font-weight:100;
  font-size: var(--lbs-mt-time-size-d, 0.92em);
  min-width:56px;
  font-family: var(--lbs-font-ui);
}
.jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__title,
.jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__title,
[class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__title,
[class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__title,
.ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__title{
  /* v5.21.6: Mirror+ controllable */
  color: var(--lbs-mt-title-color-d, #ffffff);
  font-weight:600;
  font-size: var(--lbs-mt-title-size-d, inherit);
  text-decoration:none;
}
.jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__title:hover,
.jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__title:hover,
[class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__title:hover,
[class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__title:hover,
.ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__title:hover{
  /* v5.21.6: keep hover override but no !important so Mirror+ var wins on rest state */
  color:#fca5a5;
  text-decoration:underline;
}
.jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__item,
.jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__item,
[class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__item,
[class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__item,
.ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__item{
  font-size:0.88em;
  padding:3px 0;
  border-bottom:none;
}
.jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5),
.jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5),
[class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5),
[class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5),
.ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5){
  display:none;
}
.jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__item-dot,
.jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__item-dot,
[class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__item-dot,
[class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__item-dot,
.ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__item-dot{
  background:#dc2626 !important;
  width:7px;height:7px;min-width:7px;
  box-shadow:0 0 6px 1px rgba(220,38,38,0.55);
}

/* v5.21.6 — Mobile (≤768px) hero overrides: read -m vars so Mirror+ Mobile tab
   actually controls colors/sizes inside AHM/JNews hero on phones. */
@media (max-width: 768px){
  .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__header,
  .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__header,
  [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__header,
  [class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__header,
  .ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__header{
    color: var(--lbs-mt-header-color-m, var(--lbs-mt-header-color-d, #ffffff));
    font-size: var(--lbs-mt-header-size-m, var(--lbs-mt-header-size-d, 0.93em));
  }
  .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__time,
  .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__time,
  [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__time,
  [class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__time,
  .ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__time{
    color: var(--lbs-mt-time-color-m, var(--lbs-mt-time-color-d, #ababab));
    font-size: var(--lbs-mt-time-size-m, var(--lbs-mt-time-size-d, 0.92em));
  }
  .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__title,
  .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__title,
  [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__title,
  [class*="ahm-block--hero"] .lbs-mini-updates--classic .lbs-mini-updates__title,
  .ahm-hero__media .lbs-mini-updates--classic .lbs-mini-updates__title{
    color: var(--lbs-mt-title-color-m, var(--lbs-mt-title-color-d, #ffffff));
    font-size: var(--lbs-mt-title-size-m, var(--lbs-mt-title-size-d, inherit));
  }
}

/* Lazy load: hidden items */
.lbs-lazy-hidden{display:none !important}

/* Fade-in animation for revealed items */
@keyframes lbs-fade-in{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
.lbs-lazy-reveal{animation:lbs-fade-in .4s ease-out both}

/* Lazy load sentinel / spinner */
.lbs-lazy-sentinel{
  text-align:center;padding:24px 0;color:#6b7280;font-size:.875rem;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.lbs-lazy-spinner{
  width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#10b981;
  border-radius:50%;display:inline-block;animation:lbs-spin .6s linear infinite;
}
@keyframes lbs-spin{to{transform:rotate(360deg)}}

/* ========================================
   RESPONSIVE: Tablet (≤768px)
   ======================================== */
@media (max-width: 768px){
  /* Live Blog Timeline */
  .live-blog__timeline{
    --tl-x: 8px;
  }
  .live-blog__item{
    padding-left: 32px;
    margin-bottom: 24px;
  }
  .live-blog__metaout{
    font-size: 0.875rem;
  }
  #live-blog .live-blog__tick{
    left: calc(var(--tl-x) - 4px);
    width: 8px;
    height: 8px;
  }
  .live-blog__card{
    padding: 14px 16px;
  }
  .live-blog__title{
    font-size: 16px !important;
  }
  .live-blog__body{
    font-size: 14px !important;
  }
  .live-blog__header{
    padding: 8px 12px;
    font-size: 0.9rem;
  }

  /* Mini-timeline in listings */
  .lbs-mini-updates{
    margin-top: 10px;
  }
  .lbs-mini-updates__header{
    font-size: 0.81em;
    padding: 8px 0 4px 0;
  }
  .lbs-mini-updates__item{
    padding: 4px 0;
    font-size: 0.81em;
    gap: 6px;
  }
  .lbs-mini-updates__time{
    min-width: 42px;
    font-size: 0.86em;
  }
  .lbs-mini-updates__title{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
  }
  .lbs-mini-updates__item-dot{
    width: 7px;
    height: 7px;
    min-width: 7px;
    margin-top: 0.4em;
    box-shadow:0 0 4px 1px rgba(220,38,38,0.4);
  }

  /* List Card — tablet */
  .lbs-mini-updates--listcard{
    padding: 16px 18px 12px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__header{
    font-size: 0.95em;
    padding-bottom: 10px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__item{
    padding-bottom: 14px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__title{
    font-size: 0.95em;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__time{
    font-size: 0.8em;
  }

  /* Dual Badge — tablet: scale down */
  .lbs-dual-badge {
    transform: scale(0.9);
    transform-origin: bottom left;
  }
  .lbs-dual-badge[style*="right:"] {
    transform-origin: bottom right;
  }
  .lbs-dual-badge[style*="top:"] {
    transform-origin: top left;
  }
  .lbs-dual-badge[style*="top:"][style*="right:"] {
    transform-origin: top right;
  }
}

/* ========================================
   RESPONSIVE: Mobile (≤480px)
   ======================================== */
@media (max-width: 480px){
  /* Live Blog Timeline - extra compact */
  .live-blog__timeline{
    --tl-x: 6px;
    margin-top: 16px;
  }
  .live-blog__item{
    padding-left: 26px;
    margin-bottom: 20px;
  }
  .live-blog__metaout{
    font-size: 0.8rem;
    margin-bottom: 6px;
  }
  #live-blog .live-blog__tick{
    left: calc(var(--tl-x) - 3px);
    width: 6px;
    height: 6px;
  }
  #live-blog .live-blog__item.is-latest .live-blog__tick{
    width: 8px;
    height: 8px;
    overflow: visible !important;
  }
  .live-blog__card{
    padding: 12px 14px;
    border-radius: 4px;
  }
  .live-blog__title{
    font-size: 15px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }
  .live-blog__body{
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  .live-blog__meta{
    font-size: 0.8rem;
    margin-bottom: 6px;
  }
  .live-blog__header{
    padding: 7px 10px;
    font-size: 0.78rem;
    border-radius: 8px;
  }
  .live-blog__image{
    border-radius: 6px;
    margin: 6px 0;
  }

  /* Mini-timeline - mobile optimized: horizontal swipe */
  .lbs-mini-updates{
    margin-top: 8px;
    padding-top: 0;
    border-top: none;
  }
  .lbs-mini-updates__header{
    font-size: 0.76em;
    padding: 6px 0 3px 0;
    gap: 4px;
    letter-spacing: 0.3px;
  }
  .lbs-mini-updates__dot{
    width: 14px;
    height: 14px;
    box-shadow: none;
  }
  .lbs-mini-updates__list{
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 4px !important;
  }
  .lbs-mini-updates__list::-webkit-scrollbar{
    display: none;
  }
  .lbs-mini-updates__item{
    padding: 6px 10px;
    font-size: 0.76em;
    gap: 5px;
    align-items: flex-start;
    flex: 0 0 75%;
    scroll-snap-align: start;
    background: rgba(0,0,0,0.04);
    border-radius: 6px;
    min-width: 0;
    box-sizing: border-box;
  }
  /* Limit to 3 items on small screens */
  .lbs-mini-updates__item:nth-child(n+4){
    display: none;
  }
  .lbs-mini-updates__item-dot{
    width: 6px;
    height: 6px;
    min-width: 6px;
    margin-top: 0.45em;
    box-shadow:0 0 3px 1px rgba(220,38,38,0.45);
  }
  .lbs-mini-updates__time{
    min-width: 36px;
    font-size: 0.83em;
    flex-shrink: 0;
  }
  .lbs-mini-updates__title{
    display: block;
    overflow: visible;
    white-space: normal;
    line-height: 1.3;
    word-break: break-word;
  }

  /* Overlay style: keep vertical on mobile, no horizontal swipe */
  .lbs-mini-updates--overlay{
    margin-top: 0;
    transform: none;
    margin-bottom: 12px;
    margin-left: 10px;
    margin-right: 10px;
    padding: 12px 14px 8px;
    border-top: none;
  }
  .lbs-mini-updates--overlay .lbs-mini-updates__list{
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    gap: 0 !important;
  }
  .lbs-mini-updates--overlay .lbs-mini-updates__item{
    flex: none !important;
    scroll-snap-align: unset !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 5px 0;
    font-size: 0.82em;
  }
  .lbs-mini-updates--overlay .lbs-mini-updates__item:nth-child(n+4){
    display: flex;
  }
  .lbs-mini-updates--overlay .lbs-mini-updates__title{
    -webkit-line-clamp: 2;
  }

  /* === Hero / Primo Piano mobile — layout ottimizzato per iPhone 16 Pro (390px) === */
  /* v5.19.15 FIX: tutte le regole hero mobile sono SCOPATE a .lbs-live per
     non rompere la home categorie (4 quadranti destra) né altri blocchi hero
     del tema su post non live. */

  /* v5.23.22 — CSS cleanup finale mobile: nessun override overflow sui wrapper
     JNews/AHM. Il badge resta ancorato al solo host `.lbs-host.lbs-has-badge`. */

  /* Post info: full height, gradient covers entire image, content at bottom — SOLO live */
  .lbs-live.jeg_postbig .jeg_post_info,
  .lbs-live.jeg_heroblock .jeg_post_info,
  .lbs-live[class*="jeg_hero"] .jeg_post_info,
  .lbs-live .jeg_postbig .jeg_post_info,
  .lbs-live .jeg_heroblock .jeg_post_info,
  .lbs-live [class*="jeg_hero"] .jeg_post_info{
    padding: 0 10px 6px 10px !important;
    min-height: auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2 !important;
  }

  /* Gradient overlay: full image coverage */
  .lbs-live .jeg_postbig .jeg_thumb .jeg_post_info::before,
  .lbs-live .jeg_heroblock .jeg_thumb .jeg_post_info::before,
  .lbs-live [class*="jeg_hero"] .jeg_thumb .jeg_post_info::before{
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(0deg, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 40%, rgba(0,0,0,0.3) 70%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  /* Ensure all post_info children are above gradient */
  .lbs-live .jeg_postbig .jeg_post_info > *,
  .lbs-live .jeg_heroblock .jeg_post_info > *,
  .lbs-live [class*="jeg_hero"] .jeg_post_info > *{
    position: relative !important;
    z-index: 2 !important;
  }

  /* Categoria badge (es. ESTERI) — nascosta su mobile per risparmiare spazio */
  .lbs-live .jeg_postbig .jeg_post_category,
  .lbs-live .jeg_heroblock .jeg_post_category,
  .lbs-live [class*="jeg_hero"] .jeg_post_category{
    display: none !important;
  }

  /* Titolo: COMPATTO, font piccolo per stare dentro l'immagine */
  .lbs-live .jeg_postbig .jeg_post_title,
  .lbs-live .jeg_heroblock .jeg_post_title,
  .lbs-live [class*="jeg_hero"] .jeg_post_title,
  .lbs-live .jeg_postbig .jeg_post_title a,
  .lbs-live .jeg_heroblock .jeg_post_title a,
  .lbs-live [class*="jeg_hero"] .jeg_post_title a{
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    padding: 0 !important;
    margin: 0 0 3px 0 !important;
    order: 1 !important;
    display: block !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    max-height: calc(0.85rem * 1.2 * 3) !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* Autore/meta: compatto */
  .lbs-live .jeg_postbig .jeg_post_meta,
  .lbs-live .jeg_heroblock .jeg_post_meta,
  .lbs-live [class*="jeg_hero"] .jeg_post_meta{
    font-size: 0.65em !important;
    margin: 0 0 3px 0 !important;
    order: 2 !important;
  }

  /* Badge LIVE: inline, compatto */
.lbs-live .jeg_postbig .live-badge-overlay,
.lbs-live .jeg_heroblock .live-badge-overlay,
.lbs-live [class*="jeg_hero"] .live-badge-overlay{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: inline-block !important;
    margin-bottom: 3px !important;
    overflow: hidden !important;
    order: 3 !important;
  }
  .lbs-live .jeg_postbig .live-badge-pill,
  .lbs-live .jeg_heroblock .live-badge-pill,
  .lbs-live [class*="jeg_hero"] .live-badge-pill{
    font-size: 0.55rem !important;
    padding: 3px 8px !important;
  }

  /* Mini-timeline CLASSIC dentro hero: ULTRA compatta */
  .lbs-live .jeg_postbig .lbs-mini-updates--classic,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic{
    order: 4 !important;
    margin-top: 2px !important;
    padding: 0 0 4px 0 !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__header,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__header,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__header{
    font-size: 0.6em !important;
    padding: 2px 0 !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__list,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__list,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__list{
    gap: 6px !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__item,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__item,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__item{
    padding: 4px 6px !important;
    font-size: 0.65em !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 5px !important;
    flex: 0 0 65% !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__time,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__time,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__time{
    color: rgba(255,255,255,0.9) !important;
    font-weight: 700 !important;
    min-width: 34px !important;
    font-size: 0.85em !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__title,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__title,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__title{
    -webkit-line-clamp: 2 !important;
    line-height: 1.25 !important;
    font-size: 0.85em !important;
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__item-dot,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__item-dot,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__item-dot{
    background: #ff3333 !important;
    width: 6px !important;
    height: 6px !important;
    min-width: 6px !important;
    box-shadow: 0 0 4px 1px rgba(255,51,51,0.55) !important;
  }

  /* Mini-timeline OVERLAY dopo Hero - mobile (nuovo markup: sibling) */
  .jeg_postbig + .lbs-mini-updates--overlay,
  .jeg_heroblock + .lbs-mini-updates--overlay,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay{
    margin-top: var(--lbs-overlay-offset-hero, var(--lbs-overlay-offset, -60px));
    margin-left: 12px;
    margin-right: 12px;
    padding: 10px 12px 8px;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
  }
  /* Fallback: overlay dentro Hero - mobile (vecchio markup) */
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay{
    margin-top: 0;
    transform: translateY(var(--lbs-overlay-offset-hero, var(--lbs-overlay-offset, -60px)));
    margin-bottom: var(--lbs-overlay-offset-hero, var(--lbs-overlay-offset, -60px));
    margin-left: 12px;
    margin-right: 12px;
    padding: 10px 12px 8px;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 6px 24px rgba(0,0,0,0.15);
    overflow: visible;
  }
  .jeg_postbig + .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .jeg_heroblock + .lbs-mini-updates--overlay .lbs-mini-updates__header,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay .lbs-mini-updates__header{
    color: #dc2626;
    font-size: 0.65em;
    padding: 0 0 6px 0;
  }
  .jeg_postbig + .lbs-mini-updates--overlay .lbs-mini-updates__time,
  .jeg_heroblock + .lbs-mini-updates--overlay .lbs-mini-updates__time,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay .lbs-mini-updates__time,
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay .lbs-mini-updates__time,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay .lbs-mini-updates__time,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay .lbs-mini-updates__time{
    color: #9ca3af;
    font-weight: 400;
  }
  .jeg_postbig + .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .jeg_heroblock + .lbs-mini-updates--overlay .lbs-mini-updates__title,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay .lbs-mini-updates__title{
    color: #111827;
    text-shadow: none;
    -webkit-line-clamp: 2;
    font-size: 0.88em;
  }
  .jeg_postbig + .lbs-mini-updates--overlay .lbs-mini-updates__item-dot,
  .jeg_heroblock + .lbs-mini-updates--overlay .lbs-mini-updates__item-dot,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay .lbs-mini-updates__item-dot,
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay .lbs-mini-updates__item-dot,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay .lbs-mini-updates__item-dot,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay .lbs-mini-updates__item-dot{
    background: #dc2626;
    box-shadow: none;
  }


  /* Blockquote summary - mobile */
  #live-blog .live-blog__blockquote{
    padding: 12px 14px !important;
    margin: 14px 0 18px 0 !important;
  }
  #live-blog .live-blog__blockquote p{
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  /* Polling indicator - mobile */
  .live-blog__poll-indicator{
    padding: 6px 10px;
    font-size: 0.72rem;
  }

  /* Toast - mobile */
  .lbs-toast{
    font-size: 0.8rem;
    padding: 10px 16px;
    bottom: 16px;
    max-width: calc(100vw - 32px);
  }

  /* Lazy sentinel */
  .lbs-lazy-sentinel{
    padding: 16px 0;
    font-size: 0.8rem;
  }

  /* Dual Badge — mobile: scale down further */
  .lbs-dual-badge {
    transform: scale(0.8) !important;
    transform-origin: bottom left;
  }
  .lbs-dual-badge[style*="right:"] {
    transform-origin: bottom right;
  }
  .lbs-dual-badge[style*="top:"] {
    transform-origin: top left;
  }
  .lbs-dual-badge[style*="top:"][style*="right:"] {
    transform-origin: top right;
  }

  /* Badge overlay - mobile */
  .live-badge-overlay{
    top: auto !important;
    bottom: 6px !important;
    left: 6px !important;
  }
  .live-badge-pill{
    font-size: 0.6rem;
    padding: 4px 10px;
  }
  .lbs-inline-live{
    font-size: 0.55rem;
    padding: 2px 6px;
  }

  /* List Card — mobile (≤480px / iPhone 16 Pro 390px) */
  .lbs-mini-updates--listcard{
    padding: 14px 16px 10px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__header{
    font-size: 0.76em;
    padding-bottom: 8px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__dot{
    width: 14px; height: 14px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__list{
    padding-left: 18px !important;
    margin-left: 4px !important;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__list::before{
    left: 4px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__item{
    padding-bottom: 14px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__item-dot{
    left: -18px;
    width: 8px; height: 8px; min-width: 8px;
    top: 3px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__time{
    font-size: 0.78em;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__title{
    font-size: 0.92em;
    line-height: 1.4;
    white-space: normal;
    word-break: break-word;
    overflow: visible;
  }
  /* Mask: hide line below last dot on mobile */
  .lbs-mini-updates--listcard .lbs-mini-updates__item:last-child::after{
    left: -18px;
    top: 7px; /* center of 8px dot at top:3px → 3+4=7 */
    width: 8px;
  }
  .jeg_postbig + .lbs-mini-updates--listcard,
  .jeg_heroblock + .lbs-mini-updates--listcard,
  [class*="jeg_hero"] + .lbs-mini-updates--listcard{
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 16px;
  }

  /* === MOBILE: titolo dentro overlay (come desktop) === */
  /* Nasconde il titolo clonato sopra l'immagine (creato dal JS su desktop) */
  .lbs-hero-title-above{
    display: none !important;
  }

  /* Forza visibilità del titolo ORIGINALE dentro l'overlay .jeg_post_info */
  .lbs-live .jeg_post_info .jeg_post_title,
  .lbs-live .jeg_post_info h2,
  .lbs-live .jeg_heroblock .jeg_post_info .jeg_post_title,
  .lbs-live .jeg_heroblock .jeg_post_info h2,
  .lbs-live .jeg_postbig .jeg_post_info .jeg_post_title,
  .lbs-live .jeg_postbig .jeg_post_info h2,
  .lbs-live [class*="jeg_hero"] .jeg_post_info .jeg_post_title,
  .lbs-live [class*="jeg_hero"] .jeg_post_info h2{
    display: block !important;
    display: -webkit-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
  }
  .lbs-live .jeg_post_info .jeg_post_title a,
  .lbs-live .jeg_heroblock .jeg_post_info .jeg_post_title a,
  .lbs-live .jeg_postbig .jeg_post_info .jeg_post_title a,
  .lbs-live [class*="jeg_hero"] .jeg_post_info .jeg_post_title a{
    color: #fff !important;
  }

  /* Forza visibilità dei meta (DI REDAZIONE) dentro l'overlay */
  .lbs-live .jeg_post_info .jeg_post_meta,
  .lbs-live .jeg_heroblock .jeg_post_info .jeg_post_meta,
  .lbs-live .jeg_postbig .jeg_post_info .jeg_post_meta,
  .lbs-live [class*="jeg_hero"] .jeg_post_info .jeg_post_meta{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: rgba(255,255,255,0.8) !important;
  }
}

/* ========================================
   RESPONSIVE: Small phones (≤360px)
   ======================================== */
@media (max-width: 360px){
  .live-blog__item{
    padding-left: 22px;
    margin-bottom: 16px;
  }
  .live-blog__card{
    padding: 10px 12px;
  }
  .live-blog__title{
    font-size: 14px !important;
  }
  .live-blog__body{
    font-size: 12.5px !important;
  }
  .lbs-mini-updates__item{
    font-size: 0.7em;
  }
  .lbs-mini-updates__time{
    min-width: 32px;
  }
  .lbs-mini-updates__title{
    -webkit-line-clamp: 2;
  }

  /* Overlay su schermi ≤360px — margini più stretti, offset ridotto */
  .lbs-mini-updates--overlay{
    margin-left: 6px;
    margin-right: 6px;
    padding: 10px 10px 6px;
    margin-top: 0;
    transform: translateY(max(var(--lbs-overlay-offset, -50px), -40px));
    margin-bottom: max(var(--lbs-overlay-offset, -50px), -40px);
  }
  .lbs-mini-updates--overlay .lbs-mini-updates__item{
    padding: 4px 0;
    font-size: 0.72em;
  }
  .lbs-mini-updates--overlay .lbs-mini-updates__header{
    font-size: 0.68em;
    padding-bottom: 6px;
  }
  /* Nuovo markup: sibling */
  .jeg_postbig + .lbs-mini-updates--overlay,
  .jeg_heroblock + .lbs-mini-updates--overlay,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay{
    margin-left: 8px;
    margin-right: 8px;
    margin-top: max(var(--lbs-overlay-offset-hero, -40px), -35px);
  }
  /* Fallback: dentro hero */
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay{
    margin-left: 8px;
    margin-right: 8px;
    margin-top: 0;
    transform: translateY(max(var(--lbs-overlay-offset-hero, -40px), -35px));
    margin-bottom: max(var(--lbs-overlay-offset-hero, -40px), -35px);
  }

  /* v5.23.21 — RIMOSSO override mobile overflow:unset.
     Ripristina overflow originale del tema per hover/zoom + previene
     overflow del badge fuori dalle slide carousel mobile. */

  /* Post info: full height, overflow hidden to contain content */
  .lbs-live .jeg_postbig .jeg_post_info,
  .lbs-live .jeg_heroblock .jeg_post_info,
  .lbs-live [class*="jeg_hero"] .jeg_post_info{
    padding: 0 8px 4px 8px !important;
    min-height: auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2 !important;
  }

  /* Gradient */
  .lbs-live .jeg_postbig .jeg_thumb .jeg_post_info::before,
  .lbs-live .jeg_heroblock .jeg_thumb .jeg_post_info::before,
  .lbs-live [class*="jeg_hero"] .jeg_thumb .jeg_post_info::before{
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(0deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.8) 35%, rgba(0,0,0,0.4) 65%, transparent 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  .lbs-live .jeg_postbig .jeg_post_info > *,
  .lbs-live .jeg_heroblock .jeg_post_info > *,
  .lbs-live [class*="jeg_hero"] .jeg_post_info > *{
    position: relative !important;
    z-index: 2 !important;
  }

  /* Hide category on tiny screens */
  .lbs-live .jeg_postbig .jeg_post_category,
  .lbs-live .jeg_heroblock .jeg_post_category,
  .lbs-live [class*="jeg_hero"] .jeg_post_category{
    display: none !important;
  }

  /* Titolo: compatto, max 3 righe */
  .lbs-live .jeg_postbig .jeg_post_title,
  .lbs-live .jeg_heroblock .jeg_post_title,
  .lbs-live [class*="jeg_hero"] .jeg_post_title,
  .lbs-live .jeg_postbig .jeg_post_title a,
  .lbs-live .jeg_heroblock .jeg_post_title a,
  .lbs-live [class*="jeg_hero"] .jeg_post_title a{
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    max-height: calc(0.78rem * 1.2 * 3) !important;
    margin: 0 0 2px 0 !important;
    order: 1 !important;
  }

  /* Meta */
  .lbs-live .jeg_postbig .jeg_post_meta,
  .lbs-live .jeg_heroblock .jeg_post_meta,
  .lbs-live [class*="jeg_hero"] .jeg_post_meta{
    font-size: 0.6em !important;
    margin: 0 0 2px 0 !important;
    order: 2 !important;
  }

  /* Badge LIVE */
  .lbs-live .jeg_postbig .live-badge-overlay,
  .lbs-live .jeg_heroblock .live-badge-overlay,
  .lbs-live [class*="jeg_hero"] .live-badge-overlay{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: inline-block !important;
    margin-bottom: 2px !important;
    overflow: hidden !important;
    order: 3 !important;
  }
  .lbs-live .jeg_postbig .live-badge-pill,
  .lbs-live .jeg_heroblock .live-badge-pill,
  .lbs-live [class*="jeg_hero"] .live-badge-pill{
    font-size: 0.5rem !important;
    padding: 2px 6px !important;
  }

  /* Mini-timeline CLASSIC — ultra compatta */
  .lbs-live .jeg_postbig .lbs-mini-updates--classic,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic{
    order: 4 !important;
    margin-top: 2px !important;
    padding-bottom: 2px !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__header,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__header,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__header{
    font-size: 0.5em !important;
    padding: 2px 0 !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__item,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__item,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__item{
    padding: 3px 5px !important;
    font-size: 0.58em !important;
    flex: 0 0 72% !important;
  }
  .lbs-live .jeg_postbig .lbs-mini-updates--classic .lbs-mini-updates__title,
  .lbs-live .jeg_heroblock .lbs-mini-updates--classic .lbs-mini-updates__title,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--classic .lbs-mini-updates__title{
    -webkit-line-clamp: 2 !important;
    font-size: 0.8em !important;
  }

  /* Overlay hero - schermi molto stretti */
  .jeg_postbig + .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .jeg_heroblock + .lbs-mini-updates--overlay .lbs-mini-updates__header,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay .lbs-mini-updates__header,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay .lbs-mini-updates__header{
    font-size: 0.6em !important;
  }
  .jeg_postbig + .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .jeg_heroblock + .lbs-mini-updates--overlay .lbs-mini-updates__title,
  [class*="jeg_hero"] + .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .lbs-live .jeg_postbig .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .lbs-live .jeg_heroblock .lbs-mini-updates--overlay .lbs-mini-updates__title,
  .lbs-live [class*="jeg_hero"] .lbs-mini-updates--overlay .lbs-mini-updates__title{
    -webkit-line-clamp: 2 !important;
    font-size: 0.82em !important;
  }

  /* List Card — small phones (≤360px / iPhone SE) */
  .lbs-mini-updates--listcard{
    padding: 12px 12px 8px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__header{
    font-size: 0.72em;
    padding-bottom: 6px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__dot{
    width: 12px;
    height: 12px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__list{
    padding-left: 16px !important;
    margin-left: 3px !important;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__list::before{
    left: 3px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__item{
    padding-bottom: 12px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__item-dot{
    left: -16px;
    width: 7px;
    height: 7px;
    min-width: 7px;
    top: 3px;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__time{
    font-size: 0.72em;
  }
  .lbs-mini-updates--listcard .lbs-mini-updates__title{
    font-size: 0.85em;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
  }
  .jeg_postbig + .lbs-mini-updates--listcard,
  .jeg_heroblock + .lbs-mini-updates--listcard,
  [class*="jeg_hero"] + .lbs-mini-updates--listcard{
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 12px;
  }
}

/* ═══════════════════════════════════════════════════
   Core Web Vitals Optimizations
   ═══════════════════════════════════════════════════ */

/* CSS Containment: riduce il costo di layout/paint per card della timeline */
.live-blog__item {
    contain: content;
}

/* Riserva spazio per il badge overlay (previene CLS) —
   NOTA: non usare contain:layout qui, blocca overflow:visible dei badge */
.live-thumbnail-wrapper {
    contain: style;
}

/* Hero title above: riserva spazio minimo per evitare CLS al caricamento JS */
.lbs-hero-title-above {
    min-height: 2.5em;
    contain: layout style;
}

/* Immagini nella timeline: dimensioni riservate per prevenire CLS */
.live-blog__image {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
    object-fit: cover;
    background-color: #f3f4f6;
}

/* Mini-timeline: contieni reflow */
.lbs-mini-updates {
    contain: layout style;
}

/* Animazioni: usa will-change solo su elementi animati, rimuovi dopo */
.live-badge-pill__dot,
.live-blog__live-dot,
.lbs-poll-dot--on {
    will-change: opacity;
}

/* Riduci costo paint per card fuori viewport */
.lbs-lazy-hidden {
    content-visibility: auto;
    contain-intrinsic-size: 0 200px;
}

/* Ottimizza il rendering delle card già visibili */
.live-blog__card {
    contain: layout style;
}

/* ==========================================
   v5.19.13 — Final touches
   1) Listcard header margin requested by editorial: bring "DIRETTA" tight to top-left
   2) Classic overlay position guard: re-assert absolute+bottom:0 inside .lbs-anchor-host
      to win over the generic position:static rule defined earlier in the file (cascade
      order matters: this block must come AFTER line ~575 where the generic static rule
      lives). Foto Corriere/Repubblica reference.
   ========================================== */
.lbs-mini-updates--listcard .lbs-mini-updates__header,
.lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__header{
  margin: -11px -5px 0 -18px !important;
}

.lbs-anchor-host:has(.lbs-mini-updates--classic) .lbs-mini-timeline-anchor{
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
  z-index: 5 !important;
  pointer-events: none;
}
.lbs-anchor-host:has(.lbs-mini-updates--classic) .lbs-mini-timeline-anchor .lbs-mini-updates--classic{
  pointer-events: auto;
}

/* ════════════════════════════════════════════════════════════════
   v5.20.0 — MOBILE POLISH RELEASE
   Bug ID L1, L3-L14 dall'audit mobile responsive (test.alanews.it).
   L2 (mini-timeline persa dopo ahm:dom:pruned) risolto in JS, vedi
   live-blog-schema.php listener `ahm:dom:pruned`.
   ════════════════════════════════════════════════════════════════ */

/* L1 — Card live update offset eccessivo verso destra (768px) */
@media (max-width: 768px){
  .live-blog__timeline{
    --tl-x: 10px;
  }
  .live-blog__item{
    padding-left: 28px;
  }
  /* L5 — padding card update ridotto */
  .live-blog__card{
    padding: 12px 14px;
  }
  /* L6 — gap tra label rossa e titolo */
  .live-blog__metaout{
    margin-bottom: 6px;
  }
  /* L8 — line-height body più ariosa per leggibilità mobile */
  .live-blog__body{
    line-height: 1.55 !important;
  }
  /* L4 — pallino timeline più contrastato */
  #live-blog .live-blog__tick{
    border: 2px solid hsl(0, 0%, 45%);
  }
  /* L10 — border-radius card uniforme */
  .live-blog__card{
    border-radius: 6px;
  }
  /* L7 — autore: scala icona e font label */
  .live-blog__author{
    font-size: 0.85em;
  }
  .live-blog__author svg,
  .live-blog__author img{
    width: 14px;
    height: 14px;
  }
  /* L12 — touch target 44px su link autore */
  .live-blog__author a{
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 0;
  }
  /* L9 — barra "● LIVE" full-width più compatta */
  .live-blog__live-updates-label,
  .live-blog__header{
    padding: 6px 10px;
    font-size: 0.78rem;
  }
  /* L11 — mini-timeline listcard padding allineato */
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard{
    padding: 14px 16px 10px;
  }
}

/* L1, L3, L5, L10 — refinements 480px */
@media (max-width: 480px){
  .live-blog__item{
    padding-left: 24px;
  }
  .live-blog__card{
    padding: 10px 12px;
    border-radius: 6px;
    /* keep override su `4px` precedente */
  }
  /* L3 — timestamp compatto: riduci font + clamp wrap */
  .live-blog__metaout,
  .live-blog__meta{
    font-size: 0.78em;
    line-height: 1.3;
  }
  /* L9 — barra LIVE ancora più compatta */
  .live-blog__live-updates-label,
  .live-blog__header{
    padding: 5px 8px;
    font-size: 0.8rem;
  }
}

/* L13 — Ticker tuning ≤360px */
@media (max-width: 360px){
  .lbs-news-ticker,
  .lbs-ticker{
    font-size: 0.78rem;
    padding: 4px 6px;
  }
  .lbs-news-ticker__label,
  .lbs-ticker__label{
    font-size: 0.72rem;
    padding: 2px 6px;
  }
}

/* L14 — Reduced motion: ferma pulse del badge LIVE / dot animato */
@media (prefers-reduced-motion: reduce){
  .lbs-live-badge,
  .lbs-dual-badge__right,
  .live-blog__live-updates-label .dot,
  .lbs-mini-updates__dot,
  .lbs-mini-updates__item-dot{
    animation: none !important;
  }
  #live-blog .live-blog__item.is-latest .live-blog__tick{
    animation: none !important;
    box-shadow: 0 0 0 2px rgba(220,38,38,0.5) !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   v5.20.37 — Mobile horizontal strip (SCOPED to classic / auto only)
   Sostituisce v5.20.22 che forzava la strip orizzontale per TUTTI
   i listcard/classic su mobile, ignorando lo stile mobile esplicito.
   Ora lo strip orizzontale si attiva SOLO quando lo stile mobile
   risolto è "classic" (data-mobile-style="classic" o "auto").
   Se l'utente sceglie listcard/overlay come stile mobile esplicito,
   la lista resta verticale (regole base di listcard/overlay).
   ════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px){
  /* Container: strip orizzontale SOLO per stile mobile classic/auto */
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list,
  .lbs-mini-updates--classic .lbs-mini-updates__list{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 6px;
  }
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-mini-updates--classic .lbs-mini-updates__list::-webkit-scrollbar{
    display: none;
  }
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--classic .lbs-mini-updates__list::before{
    display: none !important;
  }
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item,
  .lbs-mini-updates--classic .lbs-mini-updates__item{
    flex: 0 0 70%;
    min-width: 70%;
    max-width: 70%;
    scroll-snap-align: start;
    padding: 8px 10px !important;
    margin: 0 !important;
    background: rgba(255,255,255,0.06);
    border-radius: 6px;
  }
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item-content,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item-content,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item-content,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item-content,
  .lbs-mini-updates--classic .lbs-mini-updates__item-content{
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__time,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__time,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__time,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__time,
  .lbs-mini-updates--classic .lbs-mini-updates__time{
    /* v5.21.4: rispetta var(--lbs-mt-time-size-m) configurata via Mirror+ */
    font-size: var(--lbs-mt-time-size-m, var(--lbs-mt-time-size-d, 0.72rem));
    color: var(--lbs-mt-time-color-m, var(--lbs-mt-time-color-d, inherit));
    opacity: 0.8;
  }
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__title,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__title,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__title,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__title,
  .lbs-mini-updates--classic .lbs-mini-updates__title{
    /* v5.21.4: rispetta var(--lbs-mt-title-size-m) configurata via Mirror+ */
    font-size: var(--lbs-mt-title-size-m, var(--lbs-mt-title-size-d, 0.78rem));
    color: var(--lbs-mt-title-color-m, var(--lbs-mt-title-color-d, inherit));
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item:last-child::after,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item:last-child::after,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item:last-child::after,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item:last-child::after,
  .lbs-mini-updates--classic .lbs-mini-updates__item:last-child::after{
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   v5.20.30 — Mobile mini-timeline style cascade (DECOUPLED)
   Cambia rispetto a v5.20.27: data-mobile-style="auto" ora classicizza
   SEMPRE su mobile, anche se l'admin ha forzato un override desktop
   (data-admin-style-override="1"). Mobile e desktop sono dimensioni
   indipendenti: un override listcard desktop NON deve impedire il
   default classic mobile.
   Selettori target (entrambi classicizzati su ≤768px):
     1. data-mobile-style="auto"     → default cascade (per-post → global → 'auto')
     2. data-mobile-style="classic"  → forza Classico su mobile
   I valori "listcard" e "overlay" su data-mobile-style NON innescano
   nessuna regola qui: vengono renderizzati con il loro stile naturale.
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Forza layout strip orizzontale per listcard/overlay che devono diventare classic */
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch;
    gap: 12px !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    scrollbar-width: none;
  }
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list::-webkit-scrollbar {
    display: none;
  }
  /* Disabilita pseudo-bar verticale */
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list::before {
    display: none !important;
  }
  /* Item ~70% viewport con scroll-snap */
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item {
    flex: 0 0 70% !important;
    scroll-snap-align: start !important;
    display: flex !important;
    flex-direction: column !important;
    padding-left: 0 !important;
    border-left: none !important;
  }
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item::before,
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item::after,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item::before,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item::after,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item::before,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item::after,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item::before,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item::after {
    display: none !important;
  }
  /* Forza visibilità di tutti gli item (override del nth-child(n+5) hide) */
  .lbs-mini-updates--listcard[data-mobile-style="auto"]:not(.lbs-mini-updates--horizontal) .lbs-mini-updates__item:nth-child(n+5),
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item:nth-child(n+5),
  .lbs-mini-updates--listcard[data-mobile-style="classic"]:not(.lbs-mini-updates--horizontal) .lbs-mini-updates__item:nth-child(n+5),
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item:nth-child(n+5) {
    display: flex !important;
  }
  /* Smonta wrapper interno listcard come blocco verticale */
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item-content,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  /* Typography classic-style */
  .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__title,
  .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__title,
  .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__title,
  .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__title {
    /* v5.21.4: rispetta var(--lbs-mt-title-size-m) */
    font-size: var(--lbs-mt-title-size-m, var(--lbs-mt-title-size-d, 0.78rem)) !important;
    color: var(--lbs-mt-title-color-m, var(--lbs-mt-title-color-d, inherit)) !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  /* Header allineato come classic (no card wrapper) */
  .lbs-mini-updates--listcard[data-mobile-style="auto"],
  .lbs-mini-updates--overlay[data-mobile-style="auto"],
  .lbs-mini-updates--listcard[data-mobile-style="classic"],
  .lbs-mini-updates--overlay[data-mobile-style="classic"] {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    position: static !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   v5.20.28 — Mobile container breakout guard (AHM hero scoped)
   Regressione attuale: il reset mobile portava SEMPRE la mini-timeline fuori
   dal box immagine. Manteniamo il guard, ma lo limitiamo ai mount non-AHM;
   dentro `.ahm-hero__media.lbs-anchor-host` la classic deve restare overlay
   assoluta in basso dentro la foto.
   ════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Default guard solo per host generici/non-AHM */
  .lbs-anchor-host:not(.ahm-hero__media) .lbs-mini-timeline-anchor,
  .lbs-anchor-host:not(.ahm-hero__media):has(.lbs-mini-updates--classic) .lbs-mini-timeline-anchor,
  .lbs-anchor-host:not(.ahm-hero__media):has(.lbs-mini-updates--listcard) .lbs-mini-timeline-anchor,
  .lbs-anchor-host:not(.ahm-hero__media):has(.lbs-mini-updates--overlay) .lbs-mini-timeline-anchor {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    margin-top: 8px !important;
    z-index: auto !important;
    pointer-events: auto !important;
  }

  /* v5.20.36 — AHM hero: mount assoluto DENTRO il box immagine SOLO per
     stili classic/auto. Per listcard e overlay puri (mobile esplicito o
     ereditato), la mini-timeline DEVE stare SOTTO la foto come su desktop. */
  .ahm-hero__media.lbs-anchor-host:has(> .lbs-mini-timeline-anchor > .lbs-mini-updates--classic),
  .ahm-hero__media.lbs-anchor-host:has(> .lbs-mini-timeline-anchor > .lbs-mini-updates--listcard[data-mobile-style="classic"]),
  .ahm-hero__media.lbs-anchor-host:has(> .lbs-mini-timeline-anchor > .lbs-mini-updates--overlay[data-mobile-style="classic"]),
  .ahm-hero__media.lbs-anchor-host:has(> .lbs-mini-timeline-anchor > .lbs-mini-updates--listcard[data-mobile-style="auto"]),
  .ahm-hero__media.lbs-anchor-host:has(> .lbs-mini-timeline-anchor > .lbs-mini-updates--overlay[data-mobile-style="auto"]) {
    position: relative !important;
    overflow: hidden !important;
  }
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor:has(> .lbs-mini-updates--classic),
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor:has(> .lbs-mini-updates--listcard[data-mobile-style="classic"]),
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor:has(> .lbs-mini-updates--overlay[data-mobile-style="classic"]),
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor:has(> .lbs-mini-updates--listcard[data-mobile-style="auto"]),
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor:has(> .lbs-mini-updates--overlay[data-mobile-style="auto"]) {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    margin: 0 !important;
    z-index: 5 !important;
    pointer-events: none !important;
  }
  /* listcard / overlay puri (mobile NON classicizzato): flusso normale, sotto la foto */
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor:has(> .lbs-mini-updates--listcard:not([data-mobile-style="classic"]):not([data-mobile-style="auto"])),
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor:has(> .lbs-mini-updates--overlay:not([data-mobile-style="classic"]):not([data-mobile-style="auto"])) {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    margin-top: 8px !important;
    z-index: auto !important;
    pointer-events: auto !important;
  }
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor > .lbs-mini-updates--classic,
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor > .lbs-mini-updates--listcard[data-mobile-style="classic"],
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor > .lbs-mini-updates--overlay[data-mobile-style="classic"],
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor > .lbs-mini-updates--listcard[data-mobile-style="auto"],
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor > .lbs-mini-updates--overlay[data-mobile-style="auto"] {
    pointer-events: auto !important;
  }
  .ahm-hero__media.lbs-anchor-host > .lbs-mini-timeline-anchor > .lbs-mini-updates--classic {
    /* v5.21.7: gradient configurabile via Mirror+ (card_bg) anche su mobile hero. */
    background: linear-gradient(to top,
      var(--lbs-mt-card-bg-top, rgba(0,0,0,0.88)) 0%,
      var(--lbs-mt-card-bg-mid, rgba(0,0,0,0.62)) 55%,
      var(--lbs-mt-card-bg-bot, rgba(0,0,0,0)) 100%) !important;
    color: #fff !important;
    padding: 28px 12px 10px !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   v5.20.29 — Final mobile classic strip cascade lock
   Root cause: override hero/classic successivi riportavano la mini-timeline
   in verticale o la lasciavano attaccare a mount fallback sbagliati. Questo
   blocco è volutamente FINALE nella cascade e reimpone la strip orizzontale
   mobile su classic + versioni classicizzate (auto/classic), sopra ogni
   override precedente di hero/AHM/JNews.
   ════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* v5.20.38 — Classic puro NON è incluso qui: mantiene il suo gradient nero
     (L1213) che garantisce leggibilità delle card su mobile. Solo i listcard/
     overlay classicizzati passano per questo reset, e ricevono un proprio
     background scuro sotto per leggibilità. */
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"],
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"],
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"],
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] {
    position: static !important;
    /* v5.21.7: gradient configurabile via Mirror+ (card_bg). NB: bottom forzato 0.35
       per leggibilità dei listcard/overlay classicizzati su mobile (no hero photo). */
    background: linear-gradient(to top,
      var(--lbs-mt-card-bg-top, rgba(0,0,0,0.85)) 0%,
      var(--lbs-mt-card-bg-mid, rgba(0,0,0,0.6)) 60%,
      rgba(0,0,0,0.35) 100%) !important;
    color: #fff !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 14px 12px !important;
    border-radius: 6px !important;
  }
  /* Classic puro: reimpone position:static su mobile MA preserva gradient nero */
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic {
    position: static !important;
    /* background, padding e color restano quelli di L1213-1219 (gradient nero) */
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__header,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__header,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__header,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__header,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__header {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    position: static !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__dot {
    flex: 0 0 auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__list,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch;
    padding: 8px 0 10px !important;
    margin: 0 !important;
    list-style: none !important;
    scrollbar-width: none !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list::-webkit-scrollbar,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list::-webkit-scrollbar {
    display: none;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__list::before,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__list::before,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__list::before,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__list::before,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__list::before {
    display: none !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item {
    flex: 0 0 70% !important;
    min-width: 70% !important;
    max-width: 70% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    scroll-snap-align: start !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: linear-gradient(
      to bottom,
      var(--lbs-mt-card-bg-top, rgba(0,0,0,0.85)) 0%,
      var(--lbs-mt-card-bg-mid, rgba(0,0,0,0.60)) 60%,
      var(--lbs-mt-card-bg-bot, rgba(0,0,0,0)) 100%
    ) !important;
    position: relative !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item-dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item-dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item-dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item-dot,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item-dot {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: 0.38rem !important;
    bottom: auto !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    flex: 0 0 8px !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item-content,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item-content,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item-content,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item-content,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item-content {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 4px !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__time,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__time,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__time,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__time,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__time {
    display: block !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__title,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__title,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__title,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__title,
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__title {
    display: -webkit-box !important;
    min-width: 0 !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
  }

  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--classic .lbs-mini-updates__item:nth-child(n+5),
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="classic"] .lbs-mini-updates__item:nth-child(n+5),
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="classic"] .lbs-mini-updates__item:nth-child(n+5),
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--listcard[data-mobile-style="auto"] .lbs-mini-updates__item:nth-child(n+5),
  .lbs-anchor-host .lbs-mini-timeline-anchor .lbs-mini-updates--overlay[data-mobile-style="auto"] .lbs-mini-updates__item:nth-child(n+5) {
    display: flex !important;
  }

  .lbs-mini-updates.is-scrollable-strip {
    position: relative !important;
  }

  .lbs-mini-updates.is-scrollable-strip:not(.is-scroll-end)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: var(--lbs-mt-fade-width, 26px);
    pointer-events: none;
    /* v5.21.5: gradient configurabile da Mirror+ (colore + opacità + width) */
    background: linear-gradient(
      to right,
      var(--lbs-mt-fade-color-start, rgba(0,0,0,0)),
      var(--lbs-mt-fade-color, rgba(0,0,0,0.55))
    );
  }
}

/* ════════════════════════════════════════════════════════════════════
   v5.20.33 — Global mobile classic strip lock (mount-agnostic)
   Fix Safari/fallback mounts: il reset finale non deve dipendere da
   `.lbs-anchor-host`, altrimenti i blocchi listcard con layout desktop
   `horizontal` continuano a ereditare la 2×2 / row ibrida anche quando
   `data-mobile-style="classic"` richiede la strip Classic mobile.
   ════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"],
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    position: static !important;
  }

  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"] .lbs-mini-updates__header,
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] .lbs-mini-updates__header {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    position: static !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
  }

  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"] .lbs-mini-updates__list,
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] .lbs-mini-updates__list {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
    gap: 12px !important;
    padding: 8px 0 10px !important;
    margin: 0 !important;
    list-style: none !important;
    scrollbar-width: none !important;
  }

  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"] .lbs-mini-updates__list::before,
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] .lbs-mini-updates__list::before {
    display: none !important;
  }

  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"] .lbs-mini-updates__item,
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] .lbs-mini-updates__item {
    flex: 0 0 70% !important;
    min-width: 70% !important;
    max-width: 70% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    scroll-snap-align: start !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,0.06) !important;
    position: relative !important;
  }

  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"] .lbs-mini-updates__item-dot,
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] .lbs-mini-updates__item-dot {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: 0.38rem !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    flex: 0 0 8px !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"] .lbs-mini-updates__item-content,
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] .lbs-mini-updates__item-content {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 4px !important;
  }

  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="classic"] .lbs-mini-updates__item:nth-child(n+5),
  .lbs-mini-updates--listcard.lbs-mini-updates--horizontal[data-mobile-style="auto"][data-admin-style-override="0"] .lbs-mini-updates__item:nth-child(n+5) {
    display: flex !important;
  }
}


/* ==========================================================================
   v5.21.0 — Mini-Timeline Styles Controller (mobile override)
   I valori desktop usano var(--lbs-mt-*-d). Su viewport ≤768px,
   se il plugin ha emesso var --lbs-mt-*-m, queste prevalgono.
   ========================================================================== */
@media (max-width: 768px) {
  .lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__header,
  .lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__header,
  .lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__header {
    color: var(--lbs-mt-header-color-m, var(--lbs-mt-header-color-d)) !important;
    font-size: var(--lbs-mt-header-size-m, var(--lbs-mt-header-size-d)) !important;
  }
  .lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__time,
  .lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__time,
  .lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__time {
    color: var(--lbs-mt-time-color-m, var(--lbs-mt-time-color-d)) !important;
    font-size: var(--lbs-mt-time-size-m, var(--lbs-mt-time-size-d)) !important;
  }
  .lbs-mini-updates.lbs-mini-updates--classic .lbs-mini-updates__title,
  .lbs-mini-updates.lbs-mini-updates--listcard .lbs-mini-updates__title,
  .lbs-mini-updates.lbs-mini-updates--overlay .lbs-mini-updates__title {
    color: var(--lbs-mt-title-color-m, var(--lbs-mt-title-color-d)) !important;
    font-size: var(--lbs-mt-title-size-m, var(--lbs-mt-title-size-d)) !important;
  }
}

/* ──────────────────────────────────────────────────────────────────────────
 * v5.23.16 — Unified dual badge: posizione via data-position, valori via
 * CSS variables iniettate inline dal renderer PHP (lbs_render_dual_badge).
 * ────────────────────────────────────────────────────────────────────────── */

.lbs-host.lbs-has-badge {
    position: relative;
    container-type: inline-size;
    container-name: lbs-host;
}

.lbs-host.lbs-has-badge .lbs-dual-badge,
.lbs-featured-media-badge-host > .lbs-dual-badge {
    position: absolute;
    /* v5.23.50 — sotto menu sticky JNews (z:10). */
    z-index: 9;
    max-width: calc(100% - 16px);
    white-space: nowrap;
    overflow: hidden;
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    line-height: 1;
    box-sizing: border-box;
    border-radius: 3px;
    pointer-events: none;
}

.lbs-dual-badge[data-position="top-left"] {
    top: var(--lbs-offset-y, 8px);
    left: var(--lbs-offset-x, 8px);
    right: auto;
    bottom: auto;
}
.lbs-dual-badge[data-position="top-right"] {
    top: var(--lbs-offset-y, 8px);
    right: var(--lbs-offset-x, 8px);
    left: auto;
    bottom: auto;
}
.lbs-dual-badge[data-position="bottom-left"] {
    bottom: var(--lbs-offset-y, 8px);
    left: var(--lbs-offset-x, 8px);
    right: auto;
    top: auto;
}
.lbs-dual-badge[data-position="bottom-right"] {
    bottom: var(--lbs-offset-y, 8px);
    right: var(--lbs-offset-x, 8px);
    left: auto;
    top: auto;
}

.lbs-dual-badge .lbs-label-left {
    background: var(--lbs-left-bg, #dc2626);
    color: var(--lbs-left-fg, #ffffff);
    font-size: var(--lbs-font-left, 11px);
    font-weight: var(--lbs-weight-left, 800);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 60%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--lbs-font-ui, inherit);
}

.lbs-dual-badge .lbs-label-right {
    background: var(--lbs-right-bg, #000000);
    color: var(--lbs-right-fg, #ffffff);
    font-size: var(--lbs-font-right, 11px);
    font-weight: var(--lbs-weight-right, 800);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--lbs-dot-gap, 6px);
    max-width: 60%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: var(--lbs-font-ui, inherit);
}

.lbs-dual-badge .lbs-label-right .lbs-dot {
    flex: 0 0 auto;
    background: var(--lbs-dot-color, currentColor);
    width: var(--lbs-dot-size, 6px);
    height: var(--lbs-dot-size, 6px);
    border-radius: 50%;
    display: inline-block;
}
.lbs-dual-badge .lbs-label-right .lbs-dot--pulse {
    animation: lbs-dot-pulse 1.4s ease-in-out infinite;
}

/* v5.23.57 — Hero singola live: badge full NON deve auto-troncarsi.
   Tre concause storiche di "DIRETT" tagliato:
   1) .lbs-dual-badge ha overflow:hidden → tagliava il testo interno
   2) max-width: calc(100% - 16px) → vincola a parent stretto
   3) .lbs-label-left/right hanno max-width:60% → DIRETTA non ci sta
   Per data-variant="full" rimuoviamo i tre vincoli; l'ancestor è già
   overflow:visible (v5.23.56) quindi il badge può estendersi senza clip. */
.lbs-dual-badge[data-variant="full"] {
    overflow: visible !important;
    max-width: none !important;
}
.lbs-dual-badge[data-variant="full"] .lbs-label-left,
.lbs-dual-badge[data-variant="full"] .lbs-label-right {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
@keyframes lbs-dot-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.55; transform: scale(0.85); }
}

@container lbs-host (max-width: 360px) {
    .lbs-dual-badge[data-compact="auto"] {
        font-size: 10px;
        max-width: calc(100% - 8px);
    }
    .lbs-dual-badge[data-compact="auto"] .lbs-label-left {
        max-width: 72px;
    }
}
@container lbs-host (max-width: 260px) {
    .lbs-dual-badge[data-compact="auto"] .lbs-label-left {
        display: none;
    }
}

.lbs-dual-badge[data-compact="compact"] .lbs-label-left {
    display: none;
}

.lbs-host.lbs-narrow-auto .lbs-dual-badge[data-compact="auto"] .lbs-label-left,
.lbs-narrow-auto .lbs-dual-badge[data-compact="auto"] .lbs-label-left {
    max-width: 72px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* v5.23.28 — BUG 4 follow-up.
   Il renderer JS (buildDualBadgeHtml) produce `.lbs-dual-badge__left`
   (BEM), mentre il rendering SSR PHP usa `.lbs-label-left`.
   Le regole compact storicamente targetizzavano solo `.lbs-label-left`,
   quindi i badge iniettati lato JS nei widget compact-list (es.
   "Ultime Notizie" / jeg_postblock_3) mostravano comunque la parte
   sinistra magenta. Estendiamo le regole anche al nodo BEM. */
.lbs-dual-badge[data-compact="compact"] .lbs-dual-badge__left,
.lbs-dual-badge--context-widget .lbs-dual-badge__left,
.lbs-narrow-tiny .lbs-dual-badge .lbs-dual-badge__left {
    display: none !important;
}

/* v5.23.30 — BUG 3 Ultime Notizie hard fix.
   In tutti i widget JNews compact-list (jeg_postblock_3, jeg_pl_xs/sm,
   author_meta_sidebar e simili) la parte sinistra "MIRROR PLUS" del dual
   badge non deve mai comparire, indipendentemente dal fatto che il JS
   abbia taggato l'host con data-lbs-context="widget" o la classe
   --context-widget. Safety net puramente CSS contro race conditions di
   mount lazy-load. */
.jeg_postblock_3 .lbs-dual-badge .lbs-dual-badge__left,
.jeg_postblock_3 .lbs-dual-badge .lbs-label-left,
[class*="jeg_postblock_3"] .lbs-dual-badge .lbs-dual-badge__left,
[class*="jeg_postblock_3"] .lbs-dual-badge .lbs-label-left,
.jeg_pl_xs .lbs-dual-badge .lbs-dual-badge__left,
.jeg_pl_xs .lbs-dual-badge .lbs-label-left,
.jeg_pl_sm .lbs-dual-badge .lbs-dual-badge__left,
.jeg_pl_sm .lbs-dual-badge .lbs-label-left,
[class*="jeg_pl_xs"] .lbs-dual-badge .lbs-dual-badge__left,
[class*="jeg_pl_xs"] .lbs-dual-badge .lbs-label-left,
[class*="jeg_pl_sm"] .lbs-dual-badge .lbs-dual-badge__left,
[class*="jeg_pl_sm"] .lbs-dual-badge .lbs-label-left,
.author_meta_sidebar .lbs-dual-badge .lbs-dual-badge__left,
.author_meta_sidebar .lbs-dual-badge .lbs-label-left {
    display: none !important;
}

@media (max-width: 480px) {
    .lbs-dual-badge[data-compact="auto"] {
        max-width: calc(100% - 8px);
    }
    .lbs-dual-badge[data-compact="auto"] .lbs-label-left {
        max-width: 72px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* v5.23.18 — Thumbnail tiny (<=180px detected lato PHP):
   forza single-label only e neutralizza eventuali ellipsis sul right label. */
.lbs-narrow-tiny .lbs-dual-badge .lbs-label-left,
.lbs-dual-badge[data-compact="compact"] .lbs-label-left {
    display: none !important;
}
.lbs-narrow-tiny .lbs-dual-badge {
    max-width: calc(100% - 6px);
}

/* v5.23.18 — Container query: sotto 180px nascondi il left label anche in
   modalità auto. Il PHP già forza compact, questa è una safety net per i
   contesti dove il PHP non può determinare la width esatta. */
@container lbs-host (max-width: 180px) {
    .lbs-dual-badge[data-compact="auto"] .lbs-label-left,
    .lbs-dual-badge[data-compact="full"] .lbs-label-left {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════
   v5.23.21 — Mobile carousel safety
   Previene badge/slide tagliati nei carousel JNews mobile.
   Il badge è absolute → forza l'host a contenerlo dentro la slide
   senza forzare overflow sui wrapper esterni del tema.
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .jeg_carousel .lbs-host.lbs-has-badge,
    .jeg_slider .lbs-host.lbs-has-badge,
    [class*="jeg_carousel"] .lbs-host.lbs-has-badge {
        position: relative;
        max-width: 100%;
    }
    .jeg_carousel .lbs-dual-badge,
    .jeg_slider .lbs-dual-badge,
    [class*="jeg_carousel"] .lbs-dual-badge {
        max-width: calc(100% - 8px);
        left: 4px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   v5.23.26 — Hover-scope fix (BUG 1)
   Il badge .lbs-dual-badge è ancorato al wrapper card del tema
   (.jeg_thumb / .l-post__img / .thumbnail-container / .ahm-hero__media).
   Quando JNews/AHM applicano scale() all'<img> on hover, il badge resta
   fermo e l'<img> zooma sotto (UX standard JNews per category label).
   - NIENTE transform sul badge (no double-scaling, no jitter).
   - NIENTE override di overflow/clip sul wrapper (rispettiamo il tema).
   - SOLO transition opzionale di opacity per fade morbido.
   ═══════════════════════════════════════════════════════════ */
.lbs-dual-badge {
    transform: none !important;
    transition: opacity .2s ease;
}
/* Hover scope — la transizione transform resta SOLO sull'<img>, gestita
   dal tema. Garantiamo che il wrapper card sia containing block del badge
   (già coperto da .lbs-has-badge ma rinforziamo per JNews/AHM noti). */
.lbs-live .jeg_thumb,
.lbs-live .l-post__img,
.lbs-live .thumbnail-container,
.lbs-live .ahm-hero__media,
.lbs-live .ahm-hero-overlay {
    position: relative;
}
/* Difensivo: se per qualche motivo il badge è finito sibling dell'<img>
   dentro un wrapper non posizionato, garantisce comunque l'ancoraggio. */
.lbs-live .jeg_thumb > .lbs-dual-badge,
.lbs-live .l-post__img > .lbs-dual-badge,
.lbs-live .thumbnail-container > .lbs-dual-badge,
.lbs-live .ahm-hero__media > .lbs-dual-badge,
.lbs-live .ahm-hero-overlay > .lbs-dual-badge {
    /* v5.23.50 — sotto menu sticky JNews (z:10). */
    z-index: 9;
}

/* ═══════════════════════════════════════════════════════════════════
   v5.23.27 — BUG 1: Hover scope fix per dual badge.
   ───────────────────────────────────────────────────────────────────
   Problema: JNews applica `transform: scale(1.05)` al wrapper
   `.jeg_thumb` su :hover. Il nostro `.lbs-dual-badge` è figlio del
   wrapper (insertAdjacentHTML beforeend) → viene scalato con la foto
   → "double-scale" visivo (badge cresce con la foto).

   Soluzione: spostiamo lo `scale()` dal wrapper alla SOLA <img>
   interna. Il wrapper resta fermo, l'<img> zooma "sotto" il badge,
   l'overflow:hidden del wrapper continua a clippare lo zoom.
   Risultato: foto zooma su hover, badge resta ancorato e fermo.

   Scope ristretto a wrapper card noti + presenza di .lbs-dual-badge,
   per non toccare hover di card senza live badge.
   ═══════════════════════════════════════════════════════════════════ */
@media (hover: hover) {
    .jeg_thumb:has(.lbs-dual-badge):hover,
    .l-post__img:has(.lbs-dual-badge):hover,
    .thumbnail-container:has(.lbs-dual-badge):hover {
        transform: none !important;
    }
    .jeg_thumb:has(.lbs-dual-badge) {
        overflow: hidden;
    }
    .jeg_thumb:has(.lbs-dual-badge):hover > a > img,
    .jeg_thumb:has(.lbs-dual-badge):hover > a > .wp-post-image,
    .jeg_thumb:has(.lbs-dual-badge):hover > img,
    .jeg_thumb:has(.lbs-dual-badge):hover > .wp-post-image,
    .l-post__img:has(.lbs-dual-badge):hover img,
    .thumbnail-container:has(.lbs-dual-badge):hover img {
        transform: scale(1.05);
        transition: transform 0.35s ease;
    }
    /* Badge esplicitamente immune da qualsiasi transform ereditato */
    .jeg_thumb:hover > .lbs-dual-badge,
    .l-post__img:hover > .lbs-dual-badge,
    .thumbnail-container:hover > .lbs-dual-badge {
        transform: none !important;
    }
}
