/* ==================================================================
   Blog BitCal — stile del template "Blog BitCal"
   I token della palette e dei font sono in style.css, su :root, così
   da valere anche fuori dal blog: qui vengono solo usati.
   Identità visiva e regole d'uso: vedi DESIGN.md.
   Tutte le classi sono prefissate "bcb-" e scopate sotto .bitcal-blog
   per non interferire con gli stili di Elementor e del tema.
   ================================================================== */

.bitcal-blog{
  font-family:var(--bcb-testo);
  background:var(--bcb-grigio);
  color:var(--bcb-antracite);
  line-height:1.6;
}
.bitcal-blog .bcb-wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
/* Barra colorata di chiusura, sopra il footer: gemella di quella
   sotto l'hero ma con i colori invertiti (azzurro 1/3, arancio 2/3).
   Il gradiente qui è solo il punto di partenza: più in basso, nel blocco
   "Linee-accento", viene sostituito da quello animato (bcb-flow). */
.bitcal-blog::after{
  content:"";display:block;height:4px;
  background:linear-gradient(90deg,var(--bcb-azzurro) 0 33%,var(--bcb-arancio) 33% 100%);
}
.bitcal-blog a:focus-visible,
.bitcal-blog button:focus-visible{outline:3px solid var(--bcb-azzurro);outline-offset:2px;border-radius:2px;}

/* ---------- Hero ---------- */
.bitcal-blog .bcb-hero{
  background:var(--bcb-antracite);color:var(--bcb-grigio);
  padding:64px 0 72px;position:relative;overflow:hidden;
}
.bitcal-blog .bcb-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--bcb-arancio) 0 33%,var(--bcb-azzurro) 33% 100%);
}
/* Pittogramma in filigrana nella hero della home del blog */
.bitcal-blog:not(.bitcal-single) .bcb-hero::before{
  content:"";position:absolute;top:50%;right:9%;transform:translateY(-50%);
  width:min(440px,50vw);aspect-ratio:214/280;
  background:url(pittogramma-bitcal.png) no-repeat center/contain;
  opacity:.06;pointer-events:none;
}
.bitcal-blog .bcb-hero .bcb-wrap{position:relative;z-index:1;}
.bitcal-blog .bcb-hero h1{
  font-family:var(--bcb-titoli);font-weight:600;color:var(--bcb-grigio);
  font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.14;letter-spacing:-.02em;max-width:18ch;margin:0;
}
.bitcal-blog .bcb-hero h1 em{font-style:normal;color:var(--bcb-arancio);}
.bitcal-blog .bcb-sub{
  font-size:clamp(1rem,2vw,1.2rem);max-width:62ch;margin:20px 0 0;
  color:var(--bcb-grigio);opacity:.85;
}
.bitcal-blog .bcb-nota-metodo{
  margin-top:32px;display:inline-block;
  font-family:var(--bcb-titoli);font-size:.78rem;letter-spacing:.06em;
  border:1px solid var(--bcb-azzurro);color:var(--bcb-grigio);
  border-radius:999px;padding:8px 18px;
}
.bitcal-blog .bcb-hero-actions{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px;
}
.bitcal-blog .bcb-hero-actions .bcb-nota-metodo{margin-top:0;}
.bitcal-blog .bcb-nota-metodo-start{
  border-color:var(--bcb-arancio);color:var(--bcb-grigio);
}
.bitcal-blog .bcb-nota-metodo-start:hover{
  background:var(--bcb-arancio);color:var(--bcb-antracite);text-decoration:none;
}

/* ---------- Hero archivio categoria ---------- */
.bitcal-blog .bcb-hero-categoria{padding:48px 0 54px;}
.bitcal-blog .bcb-hero-categoria h1{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-eyebrow-hero{color:var(--bcb-arancio);margin-bottom:14px;}
.bitcal-blog .bcb-hero-conteggio{
  font-family:var(--bcb-titoli);font-size:.78rem;letter-spacing:.06em;
  color:var(--bcb-grigio);opacity:.6;margin:18px 0 0;
}

/* ---------- Hero archivio autore ---------- */
.bitcal-blog .bcb-hero-autore{padding:48px 0 54px;}
.bitcal-blog .bcb-hero-autore h1{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-hero-autore-inner{
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
}
.bitcal-blog .bcb-hero-autore .bcb-sub{max-width:60ch;}
.bitcal-blog .bcb-hero-sito{color:var(--bcb-arancio);}

/* Ritratto: foto caricata o cerchio con le iniziali (nessun Gravatar) */
.bitcal-blog .bcb-autore-foto{
  display:block;width:72px;height:72px;border-radius:50%;
  object-fit:cover;background:var(--bcb-carta);
}
.bitcal-blog .bcb-autore-iniziali{
  display:flex;align-items:center;justify-content:center;
  background:var(--bcb-azzurro);color:var(--bcb-carta);
  font-family:var(--bcb-titoli);font-weight:600;font-size:1.5rem;letter-spacing:.02em;
}
.bitcal-blog .bcb-autore-foto-grande{
  width:132px;height:132px;font-size:2.6rem;
  border:3px solid rgba(231,231,231,.25);
}

/* ---------- Livello ---------- */
/* La barra "Ogni articolo ha un livello" non c'è più: i suoi stili
   (.bcb-livelli-bar e compagnia) sono stati rimossi con lei. Resta
   l'etichetta, usata da guide, percorsi, glossario e scheda del capitolo. */
.bitcal-blog .bcb-liv{display:inline-flex;align-items:center;gap:7px;font-family:var(--bcb-titoli);}

/* I tre pallini: solo dove il livello sta in colonna su molte righe, cioè
   nell'indice del glossario e nell'elenco dei capitoli di un percorso
   (vedi bcb_punti_livello). Su una voce isolata
   ripeterebbero la parola che hanno accanto. */
.bitcal-blog .bcb-dots{display:inline-flex;gap:3px;}
.bitcal-blog .bcb-dot{
  width:7px;height:7px;border-radius:50%;box-sizing:border-box;
  border:1.5px solid var(--bcb-arancio);display:inline-block;
}
.bitcal-blog .bcb-pieno{background:var(--bcb-arancio);}

/* ---------- Sezioni ---------- */
.bitcal-blog .bcb-sezione{padding:56px 0;}
/* Fra due sezioni consecutive i padding si sommavano: 56 sotto la prima più
   56 sopra la seconda, 112px di vuoto, il doppio dello stacco che la stessa
   sezione ha al suo interno. L'effetto si notava soprattutto sotto "Come
   usarli", dove il titolo sta a 56px dal bordo alto e le colonne finivano a
   112px da quello che segue: la sezione sembrava appoggiata in alto.
   Qui la seconda sezione di ogni coppia perde il proprio padding superiore,
   così lo stacco fra sezioni resta 56px come dentro le sezioni.

   Vale solo fra sezioni sullo stesso fondo, dove il vuoto è condiviso e
   sommarlo non ha senso. Quando il fondo cambia il padding serve a entrambe:
   una fascia scura senza padding si vedrebbe col titolo attaccato al bordo, e
   la sezione che la segue ha bisogno dello stacco per non incollarsi al fondo
   che ha appena lasciato.

   Le sezioni con un fondo proprio si dichiarano con .bcb-sezione-fondo, che
   non porta stile: è un'etichetta. Elencarle per nome qui (.bcb-percorsi,
   .bcb-guide-metodo, ...) significa dimenticarsene una alla prossima, e la
   dimenticanza si vede solo guardando la pagina. */
.bitcal-blog .bcb-sezione + .bcb-sezione:not(.bcb-sezione-fondo){padding-top:0;}
.bitcal-blog .bcb-sezione.bcb-sezione-fondo + .bcb-sezione{padding-top:56px;}
.bitcal-blog .bcb-sezione-titolo{
  font-family:var(--bcb-titoli);font-weight:600;font-size:.8rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--bcb-azzurro);
  margin:0 0 24px;display:flex;align-items:center;gap:14px;
}
.bitcal-blog .bcb-sezione-titolo::after{content:"";flex:1;height:1px;background:#cfcfcf;}

/* ---------- In evidenza ---------- */
.bitcal-blog .bcb-evidenza{
  background:var(--bcb-carta);border-radius:0;overflow:hidden;
  display:grid;grid-template-columns:1.1fr 1fr;border:1px solid #d8d8d8;
}
.bitcal-blog .bcb-evidenza-testo{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;}
.bitcal-blog .bcb-eyebrow{
  font-family:var(--bcb-titoli);font-size:.7rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--bcb-azzurro);
  margin-bottom:12px;text-decoration:none;display:inline-block;width:fit-content;
}
.bitcal-blog .bcb-eyebrow:hover{text-decoration:underline;}
.bitcal-blog .bcb-evidenza h2{
  font-family:var(--bcb-titoli);font-weight:600;margin:0;
  font-size:clamp(1.4rem,3vw,2rem);line-height:1.25;
}
.bitcal-blog .bcb-evidenza h2 a{text-decoration:none;color:var(--bcb-antracite);}
.bitcal-blog .bcb-evidenza h2 a:hover{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-evidenza p{margin:14px 0 0;font-size:.95rem;line-height:1.65;max-width:55ch;}
.bitcal-blog .bcb-meta{
  margin-top:22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  font-family:var(--bcb-titoli);font-size:.74rem;color:#555;
}
.bitcal-blog .bcb-leggi{
  font-family:var(--bcb-titoli);font-size:.8rem;font-weight:600;
  color:var(--bcb-arancio);text-decoration:none;margin-top:18px;display:inline-block;
}
.bitcal-blog .bcb-leggi:hover{text-decoration:underline;color:var(--bcb-arancio);}
.bitcal-blog .bcb-evidenza-visual{
  background:var(--bcb-antracite);display:flex;align-items:center;justify-content:center;
  padding:40px;min-height:300px;
}
.bitcal-blog .bcb-evidenza-visual svg{width:100%;max-width:340px;height:auto;}
.bitcal-blog .bcb-evidenza-visual img{width:100%;height:100%;object-fit:cover;border-radius:0;}
.bitcal-blog .bcb-evidenza-visual .bcb-metric-card{
  width:100%;max-width:340px;text-align:center;
}
.bitcal-blog .bcb-evidenza-visual .bcb-metric-value{
  font-family:var(--bcb-titoli);font-weight:700;
  font-size:clamp(4rem,8vw,6rem);line-height:1;
  color:var(--bcb-arancio);
}
.bitcal-blog .bcb-evidenza-visual .bcb-metric-label{
  font-family:var(--bcb-titoli);font-weight:600;
  font-size:1rem;line-height:1.4;color:var(--bcb-grigio);
  margin-top:16px;
}
.bitcal-blog .bcb-evidenza-visual .bcb-metric-source{
  font-family:var(--bcb-titoli);font-size:.78rem;line-height:1.4;
  color:var(--bcb-azzurro);margin-top:6px;
}
.bitcal-blog .bcb-evidenza-visual .bcb-metric-source::after{
  content:"";display:block;width:160px;max-width:80%;
  height:1.5px;background:var(--bcb-azzurro);
  margin:24px auto 0;
}

/* ---------- In evidenza + colonna laterale ---------- */
/* L'evidenza cede ~30% della larghezza alla colonna (≈70/30).
   align-items:stretch → le due colonne hanno la stessa altezza:
   di norma è la sidebar (tre blocchi) a fissarla. */
.bitcal-blog .bcb-evidenza-layout{
  display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1fr);
  gap:28px;align-items:stretch;
}
/* La card è tutta immagine, con il titolo sovrapposto in basso.
   Figli in assoluto → l'altezza la comanda la sidebar (min 340px di sicurezza). */
.bitcal-blog .bcb-evidenza-layout .bcb-evidenza{
  position:relative;overflow:hidden;display:block;
  height:100%;min-height:340px;background:var(--bcb-antracite);
}
.bitcal-blog .bcb-evidenza-layout .bcb-evidenza-visual{
  position:absolute;inset:0;padding:0;min-height:0;
}
.bitcal-blog .bcb-evidenza-layout .bcb-evidenza-visual img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center top;
}
/* Link a tutta card: sfumatura scura dal basso e solo il titolo, in fondo. */
.bitcal-blog .bcb-evidenza-cover{
  position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;
  padding:32px 34px;text-decoration:none;
  background:linear-gradient(to top,rgba(28,28,28,.92) 0%,rgba(28,28,28,.55) 32%,rgba(28,28,28,0) 62%);
}
.bitcal-blog .bcb-evidenza-titolo{
  font-family:var(--bcb-titoli);font-weight:600;color:#fff;margin:0;
  font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.22;letter-spacing:-.015em;
  text-shadow:0 1px 12px rgba(0,0,0,.45);
}
.bitcal-blog .bcb-evidenza-cover:hover .bcb-evidenza-titolo{color:var(--bcb-arancio);}

.bitcal-blog .bcb-sidebar{display:flex;flex-direction:column;gap:20px;}
.bitcal-blog .bcb-side-box{
  background:var(--bcb-carta);border:1px solid #d8d8d8;
  padding:22px 24px;
}
.bitcal-blog .bcb-side-titolo{
  font-family:var(--bcb-titoli);font-weight:600;font-size:.8rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--bcb-azzurro);
  margin:0 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.bitcal-blog .bcb-side-lista{list-style:none;margin:0 0 16px;padding:0;}
.bitcal-blog .bcb-side-lista li{border-top:1px solid #e4ded4;}
.bitcal-blog .bcb-side-lista li:first-child{border-top:0;}
.bitcal-blog .bcb-side-lista a{
  display:block;padding:9px 0;font-size:.9rem;line-height:1.35;
  color:var(--bcb-antracite);text-decoration:none;
}
.bitcal-blog .bcb-side-lista a:hover{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-side-guide{display:block;color:var(--bcb-antracite);text-decoration:none;}
.bitcal-blog .bcb-side-guide:hover{border-color:var(--bcb-azzurro);}
.bitcal-blog .bcb-side-guide p{font-size:.85rem;line-height:1.6;margin:0;}

/* ---------- Pillole categoria ---------- */
.bitcal-blog .bcb-pillole{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;font-family:var(--bcb-titoli);}
.bitcal-blog .bcb-pillola{
  border:1.5px solid var(--bcb-azzurro);color:var(--bcb-antracite);
  background:transparent;border-radius:999px;padding:8px 18px;
  font-size:.78rem;font-weight:500;cursor:pointer;font-family:var(--bcb-titoli);
  transition:background .15s ease,color .15s ease;line-height:1.4;
}
.bitcal-blog .bcb-pillola:hover{background:var(--bcb-azzurro);color:var(--bcb-carta);}
.bitcal-blog .bcb-pillola.bcb-attiva{background:var(--bcb-arancio);border-color:var(--bcb-arancio);color:var(--bcb-antracite);}
.bitcal-blog .bcb-pillola.bcb-attiva:hover{background:var(--bcb-arancio);color:var(--bcb-antracite);}

/* ---------- Griglia ---------- */
.bitcal-blog .bcb-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.bitcal-blog .bcb-card{
  background:var(--bcb-carta);border:1px solid #d8d8d8;border-radius:0;
  padding:26px 26px 22px;display:flex;flex-direction:column;
  transition:border-color .15s ease, transform .15s ease;
}
.bitcal-blog .bcb-card:hover{border-color:var(--bcb-azzurro);transform:translateY(-2px);}
.bitcal-blog .bcb-card .bcb-eyebrow{margin-bottom:10px;}
.bitcal-blog .bcb-card h3{
  font-family:var(--bcb-titoli);font-weight:600;font-size:1.05rem;line-height:1.35;margin:0;
}
.bitcal-blog .bcb-card h3 a{text-decoration:none;color:var(--bcb-antracite);}
.bitcal-blog .bcb-card h3 a:hover{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-card p{margin:10px 0 0;font-size:.88rem;line-height:1.62;color:#3a3a3a;flex:1;}
/* Nel piede della card resta il solo tempo di lettura (il livello è stato
   tolto): space-between con un elemento solo lo spingeva a sinistra, dove
   prima stava la parola del livello. Va a destra, dove l’occhio lo cerca. */
.bitcal-blog .bcb-card .bcb-meta{margin-top:18px;justify-content:flex-end;}

/* ---------- Paginazione ---------- */
.bitcal-blog .bcb-paginazione{
  margin-top:40px;text-align:center;font-family:var(--bcb-titoli);font-size:.85rem;
}
.bitcal-blog .bcb-paginazione .page-numbers{
  display:inline-block;padding:7px 14px;margin:0 3px;border-radius:0;
  text-decoration:none;color:var(--bcb-antracite);border:1px solid #cfcfcf;background:var(--bcb-carta);
}
.bitcal-blog .bcb-paginazione .page-numbers.current{
  background:var(--bcb-antracite);color:var(--bcb-grigio);border-color:var(--bcb-antracite);
}
.bitcal-blog .bcb-paginazione .page-numbers:hover{border-color:var(--bcb-azzurro);}

.bitcal-blog .bcb-vuoto{font-family:var(--bcb-titoli);font-size:.9rem;color:#555;}

/* ---------- Percorsi ---------- */
.bitcal-blog .bcb-percorsi{background:var(--bcb-antracite);color:var(--bcb-grigio);}
.bitcal-blog .bcb-percorsi .bcb-sezione-titolo{color:var(--bcb-arancio);}
.bitcal-blog .bcb-percorsi .bcb-sezione-titolo::after{background:rgba(231,231,231,.2);}
/* Le card condividono le righe della griglia (subgrid): descrizione, meta ed
   elenco dei capitoli partono alla stessa altezza anche quando un occhiello
   occupa una riga in più. Ogni pezzo ha la sua fascia, così l'allineamento
   regge anche se una card è senza descrizione o senza capitoli. */
.bitcal-blog .bcb-percorsi-grid{
  display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:0;
}
.bitcal-blog .bcb-percorso{
  border:0;padding:0 0 48px;
  display:grid;grid-template-rows:subgrid;grid-row:span 4;align-content:start;
}
.bitcal-blog .bcb-percorso > h3{grid-row:1;}
.bitcal-blog .bcb-percorso > p{grid-row:2;}
.bitcal-blog .bcb-percorso > .bcb-percorso-meta{grid-row:3;}
.bitcal-blog .bcb-percorso > .bcb-percorso-capitoli{grid-row:4;align-self:start;}
.bitcal-blog .bcb-percorso h3{font-family:var(--bcb-titoli);font-weight:600;font-size:1.3rem;margin:0;color:var(--bcb-grigio);}
.bitcal-blog .bcb-percorso h3 span{color:var(--bcb-arancio);}
.bitcal-blog .bcb-percorso p{margin:16px 0 0;font-size:.95rem;line-height:1.7;opacity:.85;max-width:50ch;}
.bitcal-blog .bcb-percorso h3 a{color:inherit;text-decoration:none;}
.bitcal-blog .bcb-percorso h3 a:hover{text-decoration:underline;}

/* Menu dei livelli (Base / Intermedio / Avanzato) */
.bitcal-blog .bcb-livelli-menu{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 40px;}
.bitcal-blog .bcb-livello-tab{
  font-family:var(--bcb-titoli);font-size:.76rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--bcb-carta);background:transparent;
  border:1.5px solid rgba(231,231,231,.35);border-radius:999px;
  padding:9px 22px;cursor:pointer;
  transition:color .15s ease,border-color .15s ease,background .15s ease;
}
/* Il reset di Hello Elementor colora i <button> di rosa su hover e focus:
   va coperto su entrambi gli stati. La linguetta scelta resta azzurra anche
   sotto il mouse — prima l'hover la svuotava, e sembrava deselezionarsi. */
.bitcal-blog .bcb-livello-tab:hover,
.bitcal-blog .bcb-livello-tab:focus{
  color:var(--bcb-carta);border-color:var(--bcb-azzurro);background:transparent;
}
.bitcal-blog .bcb-livello-tab[aria-selected="true"],
.bitcal-blog .bcb-livello-tab[aria-selected="true"]:hover,
.bitcal-blog .bcb-livello-tab[aria-selected="true"]:focus{
  background:var(--bcb-azzurro);border-color:var(--bcb-azzurro);color:var(--bcb-carta);
}
/* Anello di messa a fuoco chiaro e della stessa forma: quello azzurro
   generale spariva sulla linguetta attiva, già azzurra. */
.bitcal-blog .bcb-livello-tab:focus-visible{
  outline:2px solid var(--bcb-carta);outline-offset:3px;border-radius:999px;
}

/* Card percorso: meta e capitoli pronti */
/* L'attenuazione passa dal colore, non da opacity: così il livello può
   restare a piena forza mentre gli altri metadati arretrano. Con opacity
   sul contenitore non sarebbe possibile, perché i figli non la annullano. */
.bitcal-blog .bcb-percorso-meta{
  margin-top:24px;display:flex;gap:24px;flex-wrap:wrap;align-items:center;
  font-family:var(--bcb-titoli);font-size:.74rem;color:rgba(243,238,230,.75);
}
/* Il livello è il primo dato da cogliere: pieno contrasto. */
.bitcal-blog .bcb-percorso-meta .bcb-liv{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--bcb-grigio);letter-spacing:.04em;
}
.bitcal-blog .bcb-percorso-capitoli{
  list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;
}
.bitcal-blog .bcb-percorso-capitoli a{
  display:flex;align-items:baseline;gap:14px;
  padding:13px 16px;border:1px solid rgba(231,231,231,.18);border-radius:0;
  text-decoration:none;color:var(--bcb-grigio);
  transition:border-color .15s ease;
}
.bitcal-blog .bcb-percorso-capitoli a:hover{border-color:var(--bcb-azzurro);}
/* Anche qui il numero prende il cerchio in linea dei dischi numerati. Su
   fondo antracite la cifra resta arancio: il contrasto è ampio, mentre sulla
   crema delle card chiare la stessa cifra andrebbe in antracite. */
.bitcal-blog .bcb-cap-num{
  flex:0 0 auto;box-sizing:border-box;
  width:24px;height:24px;border-radius:50%;
  border:1.5px solid var(--bcb-arancio);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--bcb-titoli);font-weight:600;font-size:.8rem;color:var(--bcb-arancio);
  transform:rotate(14deg);
}
.bitcal-blog .bcb-cap-titolo{flex:1;font-family:var(--bcb-titoli);font-size:.88rem;line-height:1.4;}
.bitcal-blog .bcb-cap-tempo{flex:0 0 auto;font-family:var(--bcb-titoli);font-size:.7rem;opacity:.6;}
.bitcal-blog .bcb-livello-vuoto{
  font-family:var(--bcb-titoli);font-size:.95rem;opacity:.8;margin:0;
}

/* ---------- Nota editoriale ---------- */
.bitcal-blog .bcb-nota-editoriale{
  background:var(--bcb-carta);border:1px solid #d8d8d8;border-radius:0;
  padding:34px 38px;max-width:820px;margin:0 auto;
}
.bitcal-blog .bcb-nota-editoriale h3{
  font-family:var(--bcb-titoli);font-weight:600;font-size:1.1rem;margin:0 0 12px;
}
.bitcal-blog .bcb-nota-editoriale p{font-size:.97rem;margin:0;}
.bitcal-blog .bcb-nota-editoriale p + p{margin-top:10px;}

/* ---------- Glossario (archivio + voce) ---------- */
/* Intestazioni di lettera */
/* La lettera deve leggersi come uno stacco, non come un lemma più piccolo:
   più grande e pesante dei termini (1rem/500), con un filetto che corre fino
   al bordo destro e aria sopra. */
.bitcal-blog .bcb-glossario-lettera{
  display:flex;align-items:center;gap:14px;
  font-family:var(--bcb-titoli);font-weight:700;color:var(--bcb-azzurro);
  font-size:1.4rem;line-height:1;letter-spacing:.06em;
  margin:46px 0 10px;padding:0 12px;
  scroll-margin-top:90px;
}
.bitcal-blog .bcb-glossario-lettera::after{
  content:"";flex:1 1 auto;height:2px;
  background:var(--bcb-azzurro);opacity:.6;
}
/* Qui c'era una regola che azzerava il margine della prima lettera. Non ha mai
   funzionato — ogni lettera è figlia unica del suo .bcb-glo-gruppo, quindi
   :first-of-type le prendeva tutte — ed è meglio così: quei 46px staccano la A
   dalla barra di ricerca. Rimessa in piedi, la incollerebbe al campo. */
.bitcal-blog .bcb-glossario-sezione{padding:40px 0;}
.bitcal-blog .bcb-glossario-elenco{list-style:none;margin:0;padding:0;}
/* Barra di ricerca istantanea */
.bitcal-blog .bcb-glo-cerca{position:relative;max-width:460px;margin:0 0 22px;}
.bitcal-blog .bcb-glo-cerca svg{
  position:absolute;left:15px;top:50%;transform:translateY(-50%);
  color:#9a948a;pointer-events:none;
}
.bitcal-blog .bcb-glo-cerca input{
  width:100%;padding:12px 16px 12px 44px;
  border:1.5px solid #a9a196;border-radius:999px;background:var(--bcb-carta);
  font-family:var(--bcb-titoli);font-size:.95rem;color:var(--bcb-antracite);
}
.bitcal-blog .bcb-glo-cerca input::placeholder{color:#9a948a;}
.bitcal-blog .bcb-glo-cerca input:focus{
  outline:none;border-color:var(--bcb-azzurro);box-shadow:0 0 0 3px rgba(33,145,208,.15);
}
.bitcal-blog .bcb-glo-nessuno{font-family:var(--bcb-titoli);color:#777;padding:8px 12px;}

.bitcal-blog .bcb-glo-nessuno[hidden],
.bitcal-blog .bcb-glo-item[hidden],
.bitcal-blog .bcb-glo-gruppo[hidden]{display:none;}

/* Riga = intestazione accordion (div role=button): griglia allineata a colonne
   fisse, cliccabile per intero. Niente <button> perché non fa da grid container. */
.bitcal-blog .bcb-glo-riga{
  position:relative;
  display:grid;grid-template-columns:230px minmax(0,1fr) auto;
  align-items:baseline;gap:0 24px;
  padding:12px 34px 12px 12px;
  border-top:1px solid #e4ded4;background:transparent;
  cursor:pointer;color:inherit;
}
.bitcal-blog .bcb-glossario-elenco > li:first-child .bcb-glo-riga{border-top:0;}
.bitcal-blog .bcb-glo-riga:hover{background:var(--bcb-carta);}
.bitcal-blog .bcb-glo-riga:focus-visible{outline:3px solid var(--bcb-azzurro);outline-offset:-3px;}
.bitcal-blog .bcb-glossario-termine{
  font-family:var(--bcb-titoli);font-weight:500;font-size:1rem;line-height:1.35;
  color:var(--bcb-antracite);min-width:0;overflow-wrap:break-word;
}
.bitcal-blog .bcb-glo-riga:hover .bcb-glossario-termine{color:var(--bcb-arancio);text-decoration:underline;}
.bitcal-blog .bcb-glo-riga[aria-expanded="true"] .bcb-glossario-termine{color:var(--bcb-arancio);}
.bitcal-blog .bcb-glossario-def{
  font-size:.9rem;line-height:1.5;color:#6a6a6a;
  min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
/* Il livello è una griglia di due colonne dentro la griglia della riga:
   i pallini incolonnati e la parola dopo. Con un solo blocco a larghezza
   automatica "Base" e "Intermedio" partono da due quote diverse, e la
   colonna dei pallini zigzagava di 34px riga per riga. */
.bitcal-blog .bcb-glo-riga .bcb-liv{
  display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;
  font-size:.7rem;color:#777;white-space:nowrap;
  min-width:96px;
}
/* Pannello con la definizione completa (accordion) */
.bitcal-blog .bcb-glo-panel[hidden]{display:none;}
.bitcal-blog .bcb-glo-panel-inner{padding:2px 12px 22px;animation:bcb-glo-open .26s ease;}
.bitcal-blog .bcb-glo-panel-inner > :first-child{margin-top:0;}
.bitcal-blog .bcb-glo-panel-inner p{font-size:.95rem;line-height:1.6;margin:0 0 12px;max-width:66ch;}
.bitcal-blog .bcb-glo-panel-inner a{color:var(--bcb-azzurro);}
@keyframes bcb-glo-open{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

@media(max-width:640px){
  .bitcal-blog .bcb-glo-riga{grid-template-columns:1fr;gap:2px;}
  .bitcal-blog .bcb-glossario-def{white-space:normal;overflow:visible;}
}
@media (prefers-reduced-motion: reduce){
  .bitcal-blog .bcb-glo-panel-inner{animation:none;}
}

/* Voce singola: la definizione (primo paragrafo in grassetto) più marcata. */
.bitcal-blog .bcb-glossario-content > p:first-child{
  font-family:var(--bcb-titoli);font-size:1.15rem;line-height:1.5;
}
.bitcal-blog .bcb-glossario-content a{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-glossario-torna{margin-top:32px;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .bitcal-blog .bcb-evidenza-layout{grid-template-columns:1fr;}
  .bitcal-blog .bcb-evidenza{grid-template-columns:1fr;}
  .bitcal-blog .bcb-griglia{grid-template-columns:1fr 1fr;}
  .bitcal-blog .bcb-percorsi-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .bitcal-blog .bcb-griglia{grid-template-columns:1fr;}
  .bitcal-blog .bcb-evidenza-testo{padding:28px 24px;}
  .bitcal-blog .bcb-nota-editoriale{padding:26px 22px;}
  .bitcal-blog .bcb-hero-autore-inner{grid-template-columns:1fr;gap:24px;}
  .bitcal-blog .bcb-hero-autore-ritratto{order:-1;}
  .bitcal-blog .bcb-autore-foto-grande{width:96px;height:96px;font-size:2rem;}
}
@media (prefers-reduced-motion: reduce){
  .bitcal-blog *{transition:none!important;}
}

/* ==================================================================
   BitCal — Single Post
   Classi scopate sotto .bitcal-blog.bitcal-single
   ================================================================== */

/* ---------- Hero editoriale ---------- */
.bitcal-blog.bitcal-single .bcb-single-hero{
  background:var(--bcb-antracite);color:var(--bcb-grigio);
  padding:60px 0 68px;position:relative;overflow:hidden;
}
.bitcal-blog.bitcal-single .bcb-single-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--bcb-arancio) 0 33%,var(--bcb-azzurro) 33% 100%);
}
.bitcal-blog.bitcal-single .bcb-single-hero-inner{
  display:grid;grid-template-columns:1.25fr 1fr;
  gap:52px;align-items:center;
}
.bitcal-blog.bitcal-percorso-indice .bcb-single-hero{
  padding:48px 0 54px;
}
.bitcal-blog.bitcal-percorso-indice .bcb-single-hero .bcb-eyebrow{
  font-size:.68rem;font-weight:500;letter-spacing:.14em;
}
.bitcal-blog.bitcal-percorso-indice .bcb-single-title{
  font-size:clamp(1.45rem,3.5vw,2.2rem);font-weight:500;
}
.bitcal-blog.bitcal-percorso-indice .bcb-single-excerpt{
  max-width:62ch;font-size:clamp(.88rem,1.3vw,.96rem);font-weight:400;
  line-height:1.6;margin-top:14px;
}
.bitcal-blog.bitcal-percorso-indice .bcb-single-hero-visual{display:block;}

/* Testo hero */

.bitcal-blog.bitcal-single .bcb-single-title{
  font-family:var(--bcb-titoli);font-weight:600;
  font-size:clamp(1.5rem,3vw,2rem);
  line-height:1.18;letter-spacing:-.015em;color:var(--bcb-azzurro);
  margin:14px 0 0;
}
.bitcal-blog.bitcal-single .bcb-single-hero .bcb-eyebrow{color:var(--bcb-arancio);}
.bitcal-blog.bitcal-single .bcb-single-excerpt{
  font-size:clamp(.92rem,1.5vw,1.02rem);line-height:1.64;
  color:var(--bcb-grigio);opacity:.82;
  margin:18px 0 0;max-width:58ch;
}
.bitcal-blog.bitcal-single .bcb-single-meta{
  margin-top:26px;color:rgba(231,231,231,.75);flex-wrap:wrap;
}

/* Visual hero */
.bitcal-blog.bitcal-single .bcb-single-hero-visual{
  display:flex;align-items:center;justify-content:center;
}

/* ---------- Metric card ---------- */
.bitcal-blog.bitcal-single .bcb-metric-card{
  background:rgba(253,253,252,.06);
  border:1px solid rgba(231,231,231,.18);
  border-radius:0;padding:40px 36px;
  text-align:center;width:100%;max-width:320px;
}
.bitcal-blog.bitcal-single .bcb-metric-value{
  font-family:var(--bcb-titoli);font-weight:700;
  font-size:clamp(3.2rem,8vw,5.4rem);
  color:var(--bcb-arancio);line-height:1;
}
.bitcal-blog.bitcal-single .bcb-metric-label{
  font-family:var(--bcb-titoli);font-size:1rem;
  color:var(--bcb-grigio);margin-top:14px;line-height:1.4;
}
.bitcal-blog.bitcal-single .bcb-metric-source{
  font-size:.7rem;color:rgba(231,231,231,.45);
  margin-top:18px;letter-spacing:.04em;
}

/* Featured image nella hero */
.bitcal-blog.bitcal-single .bcb-hero-thumbnail{
  width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0;display:block;
}

/* Fallback SVG */
.bitcal-blog.bitcal-single .bcb-hero-fallback{
  width:100%;max-width:380px;height:auto;border-radius:0;
}

/* ---------- Corpo articolo ---------- */
.bitcal-blog.bitcal-single .bcb-single-body{
  padding:64px 0 52px;background:var(--bcb-grigio);
}
.bitcal-blog.bitcal-single .bcb-single-content{
  max-width:var(--bcb-colonna);margin:0 auto;
  overflow-wrap:break-word;
  font-family:var(--bcb-testo);
  font-size:1rem;line-height:1.72;
  color:var(--bcb-antracite);
}

/* Headings nel corpo */
.bitcal-blog.bitcal-single .bcb-single-content h2,
.bitcal-blog.bitcal-single .bcb-single-content h3,
.bitcal-blog.bitcal-single .bcb-single-content h4{
  font-family:var(--bcb-titoli);font-weight:500;
  color:var(--bcb-antracite);line-height:1.3;letter-spacing:-.01em;
  margin:2.1em 0 .5em;
}
/* Titoli di sezione leggeri: a separare basta l'aria sopra, senza filetti.
   L'h2 resta circa 1.3 volte il corpo, l'h3 1.1: misure fisse, che su
   desktop non crescono con la finestra. */
.bitcal-blog.bitcal-single .bcb-single-content h2{font-size:1.3rem;}
.bitcal-blog.bitcal-single .bcb-single-content h3{font-size:1.1rem;margin-top:1.8em;}
.bitcal-blog.bitcal-single .bcb-single-content h4{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--bcb-azzurro);}
.bitcal-blog.bitcal-single .bcb-single-content > :is(h2,h3,h4):first-child{margin-top:0;}

/* Paragrafi */
.bitcal-blog.bitcal-single .bcb-single-content p{margin:0 0 1.45em;}

/* Link */
.bitcal-blog.bitcal-single .bcb-single-content a{
  color:var(--bcb-azzurro);text-decoration:underline;text-underline-offset:3px;
}
.bitcal-blog.bitcal-single .bcb-single-content a:hover{color:var(--bcb-arancio);}

/* Immagini e figure */
.bitcal-blog.bitcal-single .bcb-single-content img{
  max-width:100%;height:auto;border-radius:0;
  display:block;margin:2.2em auto;
}
.bitcal-blog.bitcal-single .bcb-single-content figure{margin:2.6em 0;}
/* Foto più strette della colonna (ritratti, la prima pagina del Times):
   centrate, con la didascalia larga quanto la foto. Il reset del tema padre
   non dà margini automatici ad .aligncenter, e la figura restava a sinistra. */
.bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-image.aligncenter{
  display:table;margin-left:auto;margin-right:auto;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-image.aligncenter img{margin:0 auto;}
.bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-image.aligncenter figcaption{
  display:table-caption;caption-side:bottom;
}
/* Due foto affiancate (gruppo .bcb-affiancate): stessa altezza, quindi
   ognuna larga secondo le proprie proporzioni, didascalia sotto la sua foto.
   300px tengono un verticale e un orizzontale dentro i 700px della colonna.
   Sotto i 600px una sopra l'altra, a tutta larghezza. */
.bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate{
  display:flex;gap:24px;justify-content:center;align-items:flex-start;margin:2.6em 0;
}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate > figure{display:table;margin:0;}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate img{
  height:300px;width:auto;max-width:none;margin:0;
}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate figcaption{
  display:table-caption;caption-side:bottom;
}
@media(max-width:600px){
  .bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate{flex-direction:column;gap:2em;}
  .bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate > figure{display:block;}
  .bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate img{height:auto;width:100%;max-width:100%;}
  .bitcal-blog.bitcal-single .bcb-single-content .bcb-affiancate figcaption{display:block;}
}
.bitcal-blog.bitcal-single .bcb-single-content figcaption{
  font-family:var(--bcb-titoli);font-size:.76rem;color:#666;
  text-align:center;margin-top:10px;letter-spacing:.02em;
  text-wrap:balance; /* righe bilanciate: niente «1999–» a fine riga e «2025» da solo sotto */
}

/* Pittogramma del marchio in apertura di una pagina (Chi siamo): piccolo e
   centrato, senza riquadro. */
.bitcal-blog.bitcal-single .bcb-single-content .bcb-pittogramma{margin:32px 0 64px;}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-pittogramma img{width:136px;margin:0 auto;}

/* Blockquote */
/* Citazione: fra due filetti azzurri, centrata, nel corpo dei titoli e
   più grande del testo (scelta dall'utente fra due varianti provate sugli
   articoli; la precedente, rientrata e in grigio tenue, si leggeva a
   malapena). Niente fondo né barra verticale. La firma sta in <cite>,
   piccola e in maiuscoletto. Filetti pieni da 1.5px: a 1px semitrasparente,
   su schermi in scala, il browser ne sfumava uno fino a farlo sembrare grigio. */
.bitcal-blog.bitcal-single .bcb-single-content blockquote{
  margin:2.6em 0;padding:28px clamp(0px,4vw,40px);
  border:0;border-top:1.5px solid #8fc5e6;border-bottom:1.5px solid #8fc5e6;
  background:none;border-radius:0;
  font-style:normal;color:var(--bcb-antracite);text-align:center;
}
.bitcal-blog.bitcal-single .bcb-single-content blockquote p{
  margin:0;font-family:var(--bcb-titoli);font-weight:400;font-size:1.12rem;line-height:1.62;
}
.bitcal-blog.bitcal-single .bcb-single-content blockquote p + p{margin-top:.8em;}
.bitcal-blog.bitcal-single .bcb-single-content blockquote cite{
  display:block;font-family:var(--bcb-titoli);font-weight:600;font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase;
  font-style:normal;color:#6d675d;margin-top:16px;
}
.bitcal-blog.bitcal-single .bcb-single-content blockquote cite a{color:inherit;}

/* Liste */
.bitcal-blog.bitcal-single .bcb-single-content ul,
.bitcal-blog.bitcal-single .bcb-single-content ol{
  padding-left:1.6em;margin-bottom:1.45em;
}
.bitcal-blog.bitcal-single .bcb-single-content li{margin-bottom:.55em;}
.bitcal-blog.bitcal-single .bcb-single-content ul li::marker{color:var(--bcb-azzurro);}
.bitcal-blog.bitcal-single .bcb-single-content ol li::marker{
  color:var(--bcb-arancio);font-family:var(--bcb-titoli);font-weight:600;
}

/* reset.css di Hello Elementor viene accodato DOPO questo foglio e porta
   "table td,table th{border:1px solid ...;padding:15px}" più lo zebrato
   "tbody>tr:nth-child(odd)>td". Qui vinciamo per specificità, ma quelle
   regole restano in agguato: le annulliamo una per una sulle tabelle del
   contenuto, così un domani non tornano a galla da sole. */
.bitcal-blog.bitcal-single .bcb-single-content table td,
.bitcal-blog.bitcal-single .bcb-single-content table th{
  border:0;
}
.bitcal-blog.bitcal-single .bcb-single-content table tbody>tr:nth-child(odd)>td,
.bitcal-blog.bitcal-single .bcb-single-content table tbody>tr:nth-child(odd)>th,
.bitcal-blog.bitcal-single .bcb-single-content table tbody tr:hover>td,
.bitcal-blog.bitcal-single .bcb-single-content table tbody tr:hover>th{
  background-color:transparent;
}
.bitcal-blog.bitcal-single .bcb-single-content table thead:first-child tr:first-child th,
.bitcal-blog.bitcal-single .bcb-single-content table thead:first-child tr:first-child td{
  border-block-start:0;
}
/* Tabelle
   Scheda come gli elenchi dentro le figure: fondo carta, bordo neutro, angoli
   di 8px e intestazione nella fascia crema scuro. Il reticolo resta, perché
   con le sole righe separate da filetti non si capiva a quale colonna
   appartenesse una cella.
   Gutenberg avvolge la tabella in <figure class="wp-block-table">, che qui
   porta il margine al posto della tabella per non sommare i due.
   Le regole del reticolo valgono per le tabelle normali, non per la
   Cronologia (is-style-timeline), che ha una resa sua. */
.bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-table{
  margin:2.6em 0;
  /* La tabella può uscire dalla colonna di lettura: le serve
     più aria di un paragrafo, e su schermi stretti scorre. */
  max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-table table{margin:0;}
/* Le tabelle larghe (quattro colonne o più) escono dalla colonna di
   lettura, centrate su di essa, fino a 920px: a 700px quattro colonne di
   prosa vanno a capo ogni due parole. Le margini negative sono simmetriche
   e si annullano da sole quando lo schermo è più stretto della colonna. */
@media(min-width:601px){
  .bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-table:not(.is-style-timeline):has(th:nth-child(4)){
    --bcb-tab-larga:min(920px,100vw - 48px);
    width:var(--bcb-tab-larga);max-width:none;
    margin-inline:calc((100% - var(--bcb-tab-larga)) / 2);
  }
}
.bitcal-blog.bitcal-single .bcb-single-content table{
  width:100%;border-collapse:collapse;
  font-size:.92rem;line-height:1.55;
  background:none;border:0;
  color:var(--bcb-antracite);
}
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) > table{
  background:var(--bcb-carta);border:1.5px solid #d8d2c9;border-radius:8px;
  border-collapse:separate;border-spacing:0;
}
/* Gutenberg mette has-fixed-layout, che divide la larghezza in parti
   uguali: la colonna dei nomi prendeva quanto quella dei contro. Con il
   calcolo automatico ogni colonna prende lo spazio del suo testo. */
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) > table.has-fixed-layout{table-layout:auto;}
/* Intestazione: nella fascia crema scuro, con lo stesso rientro del testo
   sotto, così il titolo di colonna sta in asse con i valori. */
.bitcal-blog.bitcal-single .bcb-single-content table th{
  background:none;color:#6d675d;
  font-family:var(--bcb-titoli);font-weight:600;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;
  text-align:left;
  white-space:nowrap;
}
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table th{
  padding:14px 14px 12px;vertical-align:bottom;
  background:#E9E2D6;color:var(--bcb-antracite);
  font-size:.95rem;text-transform:none;letter-spacing:0;line-height:1.35;white-space:normal;
  border:0;border-right:1px solid #d8d2c9;border-bottom:1px solid #d8d2c9;
}
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table th:first-child{border-top-left-radius:6.5px;}
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table th:last-child{border-top-right-radius:6.5px;border-right:0;}
/* Il CSS dei blocchi di WordPress chiude il thead con 3px nel colore del
   testo: il filo resta solo quello delle celle. */
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table thead{border-bottom:0;}
.bitcal-blog.bitcal-single .bcb-single-content table td{
  vertical-align:top;
  color:var(--bcb-antracite);
}
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table td{
  padding:12px 14px;
  border:0;border-right:1px solid #d8d2c9;border-bottom:1px solid #d8d2c9;
}
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table td:last-child{border-right:0;}
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table tbody tr:last-child td{border-bottom:0;}
/* Prima colonna: è l'etichetta della riga, si legge come tale. */
.bitcal-blog.bitcal-single .bcb-single-content table tbody th,
.bitcal-blog.bitcal-single .bcb-single-content table td:first-child{
  font-family:var(--bcb-titoli);font-weight:600;
  color:var(--bcb-antracite);
}
/* Il CSS dei blocchi di WordPress dà word-break:break-word alle celle delle
   tabelle has-fixed-layout: nella prima colonna «Commissioni» si spezzava
   in «Commission/i». Qui le parole restano intere e la colonna si allarga
   quanto la più lunga. */
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) td:first-child{min-width:7rem;word-break:normal;overflow-wrap:normal;}
/* Colonne Pro e Contro (data-label dal PHP): un segno davanti al testo,
   + in azzurro e − attenuato. Il segno c'è anche senza colore, che da
   solo non basterebbe a distinguerle. */
.bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table td:is([data-label="Pro"],[data-label="Contro"]){
  padding-left:calc(14px + 1.1em);position:relative;
}
.bitcal-blog.bitcal-single .bcb-single-content table td:is([data-label="Pro"],[data-label="Contro"])::after{
  position:absolute;left:14px;top:12px;
  font-family:var(--bcb-titoli);font-weight:600;line-height:1.55;
}
.bitcal-blog.bitcal-single .bcb-single-content table td[data-label="Pro"]::after{content:"+";color:var(--bcb-azzurro);}
.bitcal-blog.bitcal-single .bcb-single-content table td[data-label="Contro"]::after{content:"\2212";color:#c46a12;}
.bitcal-blog.bitcal-single .bcb-single-content table tbody tr:hover td{
  background:rgba(33,145,208,.06);
}

/* Pro e contro (gruppo .bcb-procontro, generato dall'importatore da una
   riga **Pro.** seguita da una riga **Contro.**). Un riquadro chiuso come
   le tabelle, diviso in due colonne da un filo verticale. In testa a ogni
   colonna l'occhiello (il grassetto «Pro.» o «Contro.») su una fascia
   colorata chiusa da un filo: azzurro sui pro, arancio sui contro. Sotto i 600px
   le colonne si impilano, divise da un filo orizzontale. */
.bitcal-blog.bitcal-single .bcb-single-content .bcb-procontro{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  margin:1.6em 0 2em;
  background:var(--bcb-carta);border:1px solid #d8d2c9;
}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-procontro > p{
  margin:0;padding:0 16px 14px;
  font-size:.94rem;line-height:1.65;
}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-procontro > .bcb-pro{border-right:1px solid #d8d2c9;}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-procontro > p > strong:first-child{
  display:block;margin:0 -16px 12px;padding:9px 16px;
  background:rgba(237,139,43,.14);color:#a5560c;
  border-bottom:3px solid var(--bcb-arancio);
  font-family:var(--bcb-titoli);font-weight:600;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;
}
.bitcal-blog.bitcal-single .bcb-single-content .bcb-procontro > .bcb-pro > strong:first-child{
  background:rgba(33,145,208,.12);color:#17699a;border-bottom-color:var(--bcb-azzurro);
}
@media(max-width:600px){
  .bitcal-blog.bitcal-single .bcb-single-content .bcb-procontro{grid-template-columns:minmax(0,1fr);}
  .bitcal-blog.bitcal-single .bcb-single-content .bcb-procontro > .bcb-pro{border-right:0;border-bottom:1px solid #d8d2c9;}
}

/* Passaggi (stile "Passaggi" del blocco elenco numerato, %% passaggi %%
   nel vault). Una sequenza breve resa come schema: numeri in cerchio
   uniti da un filetto, il testo sotto. L'ultimo cerchio è pieno in
   arancio: è dove la sequenza arriva. Da tablet in su i passi stanno in
   riga; sotto i 600px in colonna, con il filetto che scende fra i cerchi. */
.bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi{
  --bcb-passo:2rem;
  list-style:none;counter-reset:bcb-passo;
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:24px;
  padding:0;margin:2em 0 2.2em;
}
.bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li{
  counter-increment:bcb-passo;position:relative;margin:0;
  padding-top:calc(var(--bcb-passo) + 14px);
  font-size:.92rem;line-height:1.6;
  text-align:center;
}
.bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li::before{
  content:counter(bcb-passo);
  position:absolute;left:calc(50% - var(--bcb-passo) / 2);top:0;
  width:var(--bcb-passo);height:var(--bcb-passo);box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--bcb-arancio);border-radius:50%;
  background:var(--bcb-carta);
  font-family:var(--bcb-titoli);font-weight:600;font-size:.85rem;color:var(--bcb-antracite);
}
.bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li:last-child::before{
  border-color:var(--bcb-arancio);background:var(--bcb-arancio);
}
/* Filetto verso il passo successivo: parte dal cerchio, centrato nella
   colonna, e arriva al prossimo attraversando lo spazio fra le colonne
   (24px di gap più metà della colonna seguente). */
.bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li:not(:last-child)::after{
  content:"";position:absolute;
  top:calc(var(--bcb-passo) / 2 - 1px);
  left:calc(50% + var(--bcb-passo) / 2 + 8px);
  right:calc(var(--bcb-passo) / 2 + 8px - 50% - 24px);
  height:2px;background:rgba(237,139,43,.45);
}
@media(max-width:600px){
  .bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi{
    grid-auto-flow:row;grid-auto-columns:auto;gap:0;
  }
  .bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li{
    padding:4px 0 22px calc(var(--bcb-passo) + 16px);min-height:var(--bcb-passo);
    text-align:left;
  }
  .bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li::before{left:0;}
  .bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li:last-child{padding-bottom:0;}
  .bitcal-blog.bitcal-single .bcb-single-content ol.is-style-passaggi > li:not(:last-child)::after{
    top:calc(var(--bcb-passo) + 6px);bottom:6px;right:auto;
    left:calc(var(--bcb-passo) / 2 - 1px);width:2px;height:auto;
  }
}
/* Figura disegnata (shortcode [bcb_figura], %% figura %% nel vault): SVG
   inline nel tema, figure/{id}.svg. Un'idea per figura, poche parole, colori
   e font del sito. Se esiste anche {id}-m.svg, sotto i 600px si passa alla
   versione verticale: un SVG non va a capo, rimpicciolito diventerebbe
   illeggibile. Classi del testo: n nome, s nota, e occhiello, d cifra del disco. */
.bitcal-blog.bitcal-single .bcb-single-content .bcb-figura{margin:2.6em 0;}
.bcb-figura svg{display:block;width:100%;height:auto;overflow:visible;}
.bcb-figura-doppia .fig-m{display:none;}
@media(max-width:600px){
  .bcb-figura-doppia .fig-d{display:none;}
  .bcb-figura-doppia .fig-m{display:block;}
}
.bcb-figura .n{font-family:var(--bcb-titoli);font-weight:600;font-size:14px;fill:var(--bcb-antracite);}
.bcb-figura .s{font-family:var(--bcb-testo);font-size:12.5px;fill:#5a5a5a;}
.bcb-figura .e{font-family:var(--bcb-titoli);font-weight:600;font-size:10.5px;letter-spacing:.12em;fill:var(--bcb-azzurro);}
.bcb-figura .d{font-family:var(--bcb-titoli);font-weight:600;font-size:13px;fill:var(--bcb-antracite);}
/* Cifra su disco pieno (blu o arancio), come l'anno della Cronologia. */
.bcb-figura .dw{font-family:var(--bcb-titoli);font-weight:600;font-size:15px;fill:var(--bcb-carta);}
/* Il dato che conta in un grafico (valore finale). */
.bcb-figura .fa2{font-family:var(--bcb-titoli);font-weight:600;font-size:22px;fill:var(--bcb-arancio);}
/* Etichetta di una freccia (registro-permessi): grigio caldo, con alone del fondo nell'SVG. */
.bcb-figura .f{font-family:var(--bcb-titoli);font-weight:500;font-size:12px;letter-spacing:.01em;fill:#77705f;}
/* Codice inline e blocco */
.bitcal-blog.bitcal-single .bcb-single-content code{
  font-size:.86em;background:rgba(28,28,28,.09);border-radius:4px;padding:2px 6px;
}
.bitcal-blog.bitcal-single .bcb-single-content pre{
  background:var(--bcb-antracite);color:var(--bcb-grigio);
  border-radius:0;padding:22px 26px;overflow-x:auto;
  font-size:.86rem;margin:2.2em 0;
}
.bitcal-blog.bitcal-single .bcb-single-content pre code{background:none;padding:0;}

/* Separatori */
.bitcal-blog.bitcal-single .bcb-single-content hr{
  border:none;border-top:1px solid #d0d0d0;margin:2.8em 0;
}

/* ---------- Navigazione prev/next ---------- */
.bitcal-blog.bitcal-single .bcb-single-nav{
  background:var(--bcb-carta);border-top:1px solid #d4d4d4;
  padding:44px 0;
}
.bitcal-blog.bitcal-single .bcb-nav-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
}
.bitcal-blog.bitcal-single .bcb-nav-prev a,
.bitcal-blog.bitcal-single .bcb-nav-next a{
  display:flex;flex-direction:column;gap:7px;
  text-decoration:none;padding:18px 22px;
  border:1px solid #d8d8d8;border-radius:0;
  background:var(--bcb-grigio);
  transition:border-color .15s,background .15s;
}
.bitcal-blog.bitcal-single .bcb-nav-prev a:hover,
.bitcal-blog.bitcal-single .bcb-nav-next a:hover{
  border-color:var(--bcb-azzurro);background:var(--bcb-carta);
}
.bitcal-blog.bitcal-single .bcb-nav-next{text-align:right;}
.bitcal-blog.bitcal-single .bcb-nav-next a{align-items:flex-end;}
.bitcal-blog.bitcal-single .bcb-nav-dir{
  font-family:var(--bcb-titoli);font-size:.7rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--bcb-azzurro);
}
.bitcal-blog.bitcal-single .bcb-nav-titolo{
  font-family:var(--bcb-titoli);font-size:.9rem;font-weight:500;
  color:var(--bcb-antracite);line-height:1.35;max-width:42ch;
}

/* ---------- Contenuti collegati ---------- */
.bitcal-blog.bitcal-single .bcb-correlati{
  padding:56px 0 64px;background:var(--bcb-grigio);
}
/* ---------- Grafo dei contenuti collegati (grafo-bitcal.php) ----------
   Il grafo sta al centro della sezione. Sopra ogni nodo, titolo e tipo del
   contenuto; passando sul nodo o sull'etichetta (o arrivandoci con Tab)
   si apre la scheda, verso il centro del disegno, e si accendono il nodo e
   i suoi archi (blog-bitcal.js). Il colore del tipo è lo stesso nel nodo e
   nell'etichetta, che fa da legenda.
   La base è un elenco semplice: il disegno compare con almeno tre nodi
   (senza .bcb-grafo-solo-elenco), in verticale sugli schermi stretti. */
.bitcal-blog .bcb-grafo{--bcb-tipo:#77705f;}
/* Titolo della sezione al centro, fra due filetti. */
.bitcal-blog .bcb-grafo .bcb-sezione-titolo::before{content:"";flex:1;height:1px;background:#cfcfcf;}
.bitcal-blog .bcb-grafo .bcb-nodo-articolo{--bcb-tipo:var(--bcb-arancio);}
.bitcal-blog .bcb-grafo .bcb-nodo-capitolo,
.bitcal-blog .bcb-grafo .bcb-nodo-percorso{--bcb-tipo:var(--bcb-azzurro);}
.bitcal-blog .bcb-grafo .bcb-nodo-guida{--bcb-tipo:var(--bcb-antracite);}
.bitcal-blog .bcb-grafo .bcb-nodo-biblioteca{--bcb-tipo:#8a6a4f;}
.bitcal-blog .bcb-grafo .bcb-nodo-glossario{--bcb-tipo:#6cb4e0;}

.bitcal-blog .bcb-grafo-tipo{
  display:flex;align-items:center;gap:8px;font-family:var(--bcb-titoli);font-size:.62rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--bcb-tipo);
}
.bitcal-blog .bcb-nodo-glossario .bcb-grafo-tipo{color:#1d77ab;}
.bitcal-blog .bcb-grafo-titolo{
  display:block;font-family:var(--bcb-titoli);font-weight:600;font-size:.98rem;
  line-height:1.3;color:var(--bcb-antracite);
}

/* Elenco (base) */
.bitcal-blog .bcb-grafo-mappa{max-width:var(--bcb-colonna);}
.bitcal-blog .bcb-grafo-svg,
.bitcal-blog .bcb-grafo-centro,
.bitcal-blog .bcb-grafo-scheda,
.bitcal-blog .bcb-grafo-aiuto{display:none;}
.bitcal-blog .bcb-grafo-elenco{list-style:none;margin:0;padding:0;}
.bitcal-blog .bcb-grafo-voce > a{display:block;padding:12px 0;border-bottom:1px solid #e0d8cb;text-decoration:none;color:inherit;}
.bitcal-blog .bcb-grafo-etichetta{display:flex;flex-direction:column-reverse;gap:4px;}
.bitcal-blog .bcb-grafo-etichetta .bcb-grafo-tipo::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--bcb-tipo);
}
.bitcal-blog .bcb-grafo-voce > a:hover .bcb-grafo-titolo{color:var(--bcb-azzurro);}

/* Grafo */
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco){
  position:relative;max-width:800px;margin:8px auto 0;aspect-ratio:var(--bcb-grafo-ratio);
}
.bitcal-blog .bcb-grafo-svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;}

.bitcal-blog .bcb-arco{
  fill:none;stroke:rgba(33,145,208,.45);stroke-width:1.2;stroke-linecap:round;
  transition:stroke .2s ease, stroke-width .2s ease, opacity .2s ease;
}
.bitcal-blog .bcb-arco-fra{stroke:rgba(33,145,208,.3);stroke-dasharray:2 5;}
.bitcal-blog .bcb-grafo-archi.bcb-in-uso .bcb-arco{opacity:.35;}
.bitcal-blog .bcb-grafo-archi.bcb-in-uso .bcb-arco.bcb-acceso{
  opacity:1;stroke:var(--bcb-azzurro);stroke-width:1.8;stroke-dasharray:none;
}

.bitcal-blog .bcb-grafo-nodo{cursor:pointer;}
.bitcal-blog .bcb-grafo-nodo circle{transform-box:fill-box;transform-origin:center;transition:transform .2s ease, opacity .2s ease;}
.bitcal-blog .bcb-grafo-nodo .bcb-nodo{fill:var(--bcb-tipo);stroke:var(--bcb-grigio);stroke-width:2.5;}
.bitcal-blog .bcb-grafo-nodo .bcb-alone{fill:var(--bcb-tipo);opacity:.2;}
.bitcal-blog .bcb-grafo-nodo.bcb-acceso .bcb-nodo{transform:scale(1.3);}
.bitcal-blog .bcb-grafo-nodo.bcb-acceso .bcb-alone{transform:scale(1.5);opacity:.28;}

.bitcal-blog .bcb-nodo-corrente .bcb-nodo{fill:var(--bcb-antracite);stroke:var(--bcb-arancio);stroke-width:3;}
.bitcal-blog .bcb-nodo-corrente .bcb-alone{
  fill:none;stroke:var(--bcb-arancio);stroke-width:1;opacity:.45;
}

/* Etichette: titolo sopra, tipo sotto, appoggiate sopra il nodo. Voce e
   link non hanno posizione propria: etichetta e scheda si posizionano
   sulla mappa, l'etichetta con le coordinate del nodo (--bcb-x, --bcb-y). */
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco){margin-bottom:250px;}
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-voce > a{padding:0;border:0;}
.bitcal-blog .bcb-grafo-centro,
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-etichetta{
  display:block;position:absolute;z-index:1;left:var(--bcb-x);top:var(--bcb-y);
  transform:translate(-50%, calc(-100% - 20px));
  width:max-content;max-width:200px;text-align:center;
  padding:3px 8px;border-radius:6px;background:rgba(243,238,230,.88);
}
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-etichetta .bcb-grafo-tipo{display:block;margin-top:2px;}
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-etichetta .bcb-grafo-tipo::before{content:none;}
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-etichetta .bcb-grafo-titolo{font-size:.84rem;}
/* Sul grafo i titoli non cambiano colore: a dire quale nodo è acceso bastano nodo e archi. */
.bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-voce > a:hover .bcb-grafo-titolo{color:var(--bcb-antracite);}
.bitcal-blog .bcb-grafo-voce > a:focus-visible{outline:none;}
.bitcal-blog .bcb-grafo-voce > a:focus-visible .bcb-grafo-etichetta{outline:2px solid var(--bcb-azzurro);outline-offset:2px;}

.bitcal-blog .bcb-grafo-centro{
  margin:0;max-width:300px;pointer-events:none;
  transform:translate(-50%, calc(-100% - 24px));
}
.bitcal-blog .bcb-grafo-centro .bcb-grafo-tipo{display:block;color:var(--bcb-arancio);}
.bitcal-blog .bcb-grafo-centro .bcb-grafo-titolo{font-size:.9rem;}

/* Scheda: compare sotto il grafo (a destra sugli schermi larghi, vedi
   sotto), nello spazio tenuto libero dal margin-bottom della mappa,
   così non copre mai nodi ed etichette.
   Finché non ce n'è una aperta, lì c'è l'invito a passare sui punti. */
.bitcal-blog .bcb-grafo-scheda,
.bitcal-blog .bcb-grafo-aiuto{
  position:absolute;left:50%;top:calc(100% - 16px);width:min(520px, 100%);
}
.bitcal-blog .bcb-grafo-scheda{
  display:block;
  padding:14px 18px 15px;border:1px solid #ddd5c8;border-radius:8px;
  background:var(--bcb-carta);box-shadow:0 14px 34px -18px rgba(31,31,31,.3);
  text-align:left;opacity:0;visibility:hidden;pointer-events:none;
  transform:translate(-50%, 6px);
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.bitcal-blog .bcb-grafo-voce.bcb-attiva .bcb-grafo-scheda,
.bitcal-blog .bcb-grafo-voce:focus-within .bcb-grafo-scheda{
  opacity:1;visibility:visible;transform:translate(-50%, 0);
  transition:opacity .18s ease, transform .18s ease, visibility 0s;
}
.bitcal-blog .bcb-grafo-solo-elenco .bcb-grafo-scheda{display:none;}
.bitcal-blog .bcb-grafo-scheda .bcb-grafo-tipo{display:block;}
.bitcal-blog .bcb-grafo-scheda .bcb-grafo-titolo{margin-top:5px;}
.bitcal-blog .bcb-grafo-estratto{display:block;margin-top:6px;font-size:.84rem;line-height:1.55;color:#3a3a3a;}
.bitcal-blog .bcb-grafo-estratto + .bcb-grafo-estratto{color:#5a5a5a;}

.bitcal-blog .bcb-grafo-aiuto{
  display:block;margin:0;padding-top:18px;transform:translateX(-50%);text-align:center;
  font-size:.82rem;color:#6b6b6b;transition:opacity .18s ease;
}
.bitcal-blog .bcb-grafo-mappa:has(.bcb-attiva, .bcb-grafo-voce:focus-within) .bcb-grafo-aiuto{opacity:0;}

/* Versione verticale del disegno, solo per gli schermi stretti (sotto). */
.bitcal-blog .bcb-grafo-stretto{display:none;}

/* Al tocco non c'è passaggio del mouse: il primo tocco su un punto apre la
   scheda (blog-bitcal.js), la scheda aperta diventa toccabile e porta al
   contenuto, e l'invito parla di toccare. */
.bitcal-blog .bcb-grafo-leggi,
.bitcal-blog .bcb-al-tocco{display:none;}
@media(hover:none){
  .bitcal-blog .bcb-con-mouse{display:none;}
  .bitcal-blog .bcb-al-tocco{display:inline;}
  .bitcal-blog .bcb-grafo-leggi{
    display:inline-block;margin-top:10px;font-family:var(--bcb-titoli);font-size:.8rem;font-weight:600;color:var(--bcb-azzurro);
  }
  .bitcal-blog .bcb-grafo-voce.bcb-attiva .bcb-grafo-scheda{pointer-events:auto;}
}

/* Schermi stretti: disegno in verticale, etichette più piccole con le
   coordinate della versione stretta (--bcb-xm, --bcb-ym), scheda sotto con
   il testo accorciato. */
@media(max-width:820px){
  .bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco){
    max-width:420px;aspect-ratio:var(--bcb-grafo-ratio-m);margin-bottom:270px;
  }
  .bitcal-blog .bcb-grafo-largo{display:none;}
  .bitcal-blog .bcb-grafo-stretto{display:block;}
  .bitcal-blog .bcb-grafo-centro,
  .bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-etichetta{
    left:var(--bcb-xm);top:var(--bcb-ym);max-width:124px;padding:2px 5px;
    transform:translate(-50%, calc(-100% - 14px));
  }
  .bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-etichetta .bcb-grafo-titolo{font-size:.74rem;}
  .bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco) .bcb-grafo-etichetta .bcb-grafo-tipo{font-size:.54rem;letter-spacing:.1em;}
  .bitcal-blog .bcb-grafo-centro{max-width:170px;transform:translate(-50%, calc(-100% - 30px));}
  .bitcal-blog .bcb-grafo-centro .bcb-grafo-titolo{font-size:.8rem;}
  .bitcal-blog .bcb-grafo-centro .bcb-grafo-tipo{font-size:.54rem;}
  .bitcal-blog .bcb-grafo-scheda,
  .bitcal-blog .bcb-grafo-aiuto{top:calc(100% + 4px);}
  .bitcal-blog .bcb-grafo-estratto{
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;
  }
}
/* Su schermi larghi il grafo va a sinistra e la scheda compare nella
   colonna libera a destra, centrata in altezza sul disegno. */
@media(min-width:1100px){
  /* Sotto il disegno le etichette possono scendere fino a 48px (blog-bitcal.js). */
  .bitcal-blog.bitcal-single .bcb-correlati.bcb-grafo:has(.bcb-grafo-mappa:not(.bcb-grafo-solo-elenco)){padding-bottom:112px;}
  .bitcal-blog .bcb-grafo-mappa:not(.bcb-grafo-solo-elenco){
    max-width:min(720px, calc(100% - 400px));margin:8px 0 0;
  }
  .bitcal-blog .bcb-grafo-scheda,
  .bitcal-blog .bcb-grafo-aiuto{left:calc(100% + 48px);top:50%;width:340px;}
  .bitcal-blog .bcb-grafo-scheda{padding:20px 22px 22px;transform:translate(8px, -50%);}
  .bitcal-blog .bcb-grafo-voce.bcb-attiva .bcb-grafo-scheda,
  .bitcal-blog .bcb-grafo-voce:focus-within .bcb-grafo-scheda{transform:translate(0, -50%);}
  .bitcal-blog .bcb-grafo-scheda .bcb-grafo-titolo{font-size:1.1rem;margin-top:8px;}
  .bitcal-blog .bcb-grafo-estratto{margin-top:10px;font-size:.9rem;line-height:1.65;}
  .bitcal-blog .bcb-grafo-aiuto{
    padding:0;
    transform:translateY(-50%);text-align:left;line-height:1.6;
  }
}
@media (prefers-reduced-motion: reduce){
  .bitcal-blog .bcb-arco,.bitcal-blog .bcb-grafo-nodo circle,.bitcal-blog .bcb-grafo-scheda,.bitcal-blog .bcb-grafo-aiuto{transition:none;}
}

/* ---------- Focus globale nel single ---------- */
.bitcal-blog.bitcal-single a:focus-visible,
.bitcal-blog.bitcal-single button:focus-visible{
  outline:3px solid var(--bcb-azzurro);outline-offset:2px;border-radius:2px;
}

/* ---------- Firma e biografia dell'autore ---------- */
.bitcal-blog.bitcal-single .bcb-autore a{
  color:inherit;text-decoration:none;border-bottom:1px solid rgba(231,231,231,.45);
}
.bitcal-blog.bitcal-single .bcb-autore a:hover{color:var(--bcb-arancio);border-bottom-color:var(--bcb-arancio);}

.bitcal-blog.bitcal-single .bcb-bio{
  max-width:var(--bcb-colonna);margin:52px auto 0;padding:26px;
  background:var(--bcb-carta);border:1px solid #d8d8d8;
  display:flex;gap:22px;align-items:flex-start;
}
.bitcal-blog.bitcal-single .bcb-bio-ritratto{flex:0 0 auto;line-height:0;}
.bitcal-blog.bitcal-single .bcb-bio-etichetta{
  font-family:var(--bcb-titoli);font-size:.72rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--bcb-arancio);
}
.bitcal-blog.bitcal-single .bcb-bio-nome{
  font-family:var(--bcb-titoli);font-weight:600;font-size:1.1rem;
  margin:6px 0 0;line-height:1.3;
}
.bitcal-blog.bitcal-single .bcb-bio-nome a{color:var(--bcb-antracite);text-decoration:none;}
.bitcal-blog.bitcal-single .bcb-bio-nome a:hover{color:var(--bcb-azzurro);}
.bitcal-blog.bitcal-single .bcb-bio-descrizione{
  margin:10px 0 0;font-size:.9rem;line-height:1.65;color:#3a3a3a;
}
.bitcal-blog.bitcal-single .bcb-bio-link{
  margin:14px 0 0;font-family:var(--bcb-titoli);font-size:.82rem;
}
.bitcal-blog.bitcal-single .bcb-bio-link a{color:var(--bcb-azzurro);text-decoration:none;}
.bitcal-blog.bitcal-single .bcb-bio-link a:hover{text-decoration:underline;}
.bitcal-blog.bitcal-single .bcb-bio-sito{margin-left:14px;}

/* ---------- Condividi ---------- */
.bitcal-blog.bitcal-single .bcb-share{
  max-width:var(--bcb-colonna);margin:48px auto 0;padding-top:28px;
  border-top:1px solid #cfcfcf;
  display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;
  font-family:var(--bcb-titoli);
}
.bitcal-blog.bitcal-single .bcb-share-titolo{
  font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bcb-antracite);opacity:.7;
}
.bitcal-blog.bitcal-single .bcb-share-bottoni{display:flex;gap:8px;flex-wrap:wrap;}
.bitcal-blog.bitcal-single .bcb-share-btn{
  font-family:var(--bcb-titoli);font-size:.76rem;font-weight:500;line-height:1.4;
  border:1.5px solid var(--bcb-azzurro);color:var(--bcb-antracite);
  background:transparent;border-radius:999px;padding:7px 16px;
  text-decoration:none;cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.bitcal-blog.bitcal-single .bcb-share-btn:hover{
  background:var(--bcb-azzurro);color:var(--bcb-carta);text-decoration:none;
}
.bitcal-blog.bitcal-single .bcb-share-copiato{
  background:var(--bcb-azzurro);color:var(--bcb-carta);border-color:var(--bcb-azzurro);
}

/* ---------- Responsive single ---------- */
@media(max-width:900px){
  .bitcal-blog.bitcal-single .bcb-single-hero-inner{
    grid-template-columns:1fr;gap:32px;
  }
  .bitcal-blog.bitcal-single .bcb-single-hero-visual{order:-1;}
  .bitcal-blog.bitcal-single .bcb-metric-card{max-width:260px;}
  /* A colonna singola la copertina torna a sinistra, allineata al testo:
     a filo destro resterebbe staccata da tutto il resto. */
  .bitcal-blog.bitcal-capitolo .bcb-single-hero-visual{justify-content:flex-start;}
  /* La scheda dati dell'indice resta sotto il titolo: sopra avrebbe
     preceduto il nome del percorso a cui si riferisce. */
  .bitcal-blog.bitcal-percorso-indice .bcb-single-hero-visual{order:0;justify-content:flex-start;}
  .bitcal-blog.bitcal-single .bcb-percorso-scheda{max-width:420px;}
}
@media(max-width:600px){
  .bitcal-blog.bitcal-single .bcb-bio{flex-direction:column;gap:16px;padding:22px;}
  .bitcal-blog.bitcal-single .bcb-bio-sito{margin-left:0;display:block;margin-top:6px;}
  .bitcal-blog.bitcal-single .bcb-single-hero{padding:44px 0 54px;}
  .bitcal-blog.bitcal-single .bcb-single-hero-visual{order:0;}
  .bitcal-blog.bitcal-single .bcb-nav-inner{grid-template-columns:1fr;}
  .bitcal-blog.bitcal-single .bcb-nav-next{text-align:left;}
  .bitcal-blog.bitcal-single .bcb-nav-next a{align-items:flex-start;}
  /* Sotto i 600px quattro colonne di prosa non ci stanno in nessun modo:
     la tabella resta una scheda sola, con il nome di ogni riga nella fascia
     crema scuro e l'etichetta di colonna sopra ogni valore (data-label, messo
     dal PHP). Così si legge senza scorrimento orizzontale. */
  .bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-table{overflow-x:visible;}
  /* width:100% e box-sizing servono entrambi: in display:block le celle
     conservano altrimenti la larghezza calcolata come colonne e il testo
     lungo esce dallo schermo invece di andare a capo. */
  .bitcal-blog.bitcal-single .bcb-single-content table,
  .bitcal-blog.bitcal-single .bcb-single-content table tbody,
  .bitcal-blog.bitcal-single .bcb-single-content table tr,
  .bitcal-blog.bitcal-single .bcb-single-content table td{
    display:block;width:100%;max-width:100%;min-width:0;
    box-sizing:border-box;
  }
  .bitcal-blog.bitcal-single .bcb-single-content table td{
    overflow-wrap:break-word;white-space:normal;
  }
  .bitcal-blog.bitcal-single .bcb-single-content table thead{
    position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
  }
  .bitcal-blog.bitcal-single .bcb-single-content table td{
    padding:0;border:0;
  }
  /* La scheda si chiude attorno a tutta la tabella; le celle perdono il
     reticolo del desktop. */
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) > table{overflow:hidden;}
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table td,
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table td:is([data-label="Pro"],[data-label="Contro"]){
    padding:0;border:0;
  }
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table tbody{display:flex;flex-direction:column;}
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table tbody tr{padding:0 16px 6px;overflow:hidden;}
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table tbody tr:hover td{background:none;}
  /* Il nome della riga sta nella stessa fascia dell'intestazione del desktop. */
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table td:first-child,
  .bitcal-blog.bitcal-single .bcb-single-content figure:not(.is-style-timeline) table tbody tr:hover td:first-child{
    font-size:1rem;min-width:0;width:calc(100% + 32px);max-width:none;
    margin:0 -16px 12px;padding:11px 16px 10px;
    background:#E9E2D6;color:var(--bcb-antracite);
  }
  /* Qui l'etichetta Pro o Contro sta già sopra il testo: il segno davanti
     sarebbe un doppione. */
  .bitcal-blog.bitcal-single .bcb-single-content table td:is([data-label="Pro"],[data-label="Contro"]){padding-left:0;}
  .bitcal-blog.bitcal-single .bcb-single-content table td:is([data-label="Pro"],[data-label="Contro"])::after{content:none;}
  .bitcal-blog.bitcal-single .bcb-single-content table td:not(:first-child){
    padding-left:0;margin-bottom:8px;
  }
  .bitcal-blog.bitcal-single .bcb-single-content table td:not(:first-child)::before{
    content:attr(data-label);display:block;
    font-family:var(--bcb-titoli);font-weight:600;
    font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
    color:#6a655d;margin-bottom:2px;
  }
}

/* Cronologia (stile "timeline" del blocco tabella)
   Una tabella Anno | Voce | colonne di testo, resa come linea del tempo
   verticale: l'anno a sinistra, un punto sull'asse, la voce e le sue
   colonne a destra. I dati restano una tabella vera (Gutenberg, lettori
   di schermo, vault); cambia solo la resa. L'asse è un filetto neutro da
   1px fra i punti, non una barra colorata accanto al blocco. Le etichette
   delle colonne dalla terza in poi vengono da data-label, messo dal PHP.
   Il punto dell'ultima riga è pieno in arancio: è l'approdo della serie. */
.bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-table.is-style-timeline{
  --bcb-tl-anno:6.5rem;--bcb-tl-gap:2.25rem;
  overflow:visible;margin:3em 0;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline table,
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody{
  display:block;width:100%;font-size:.92rem;line-height:1.6;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline thead{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr{
  display:grid;grid-template-columns:var(--bcb-tl-anno) minmax(0,1fr);
  column-gap:var(--bcb-tl-gap);align-content:start;
  position:relative;padding:0 0 2.2em;border:0;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr::before{
  content:"";position:absolute;
  left:calc(var(--bcb-tl-anno) + var(--bcb-tl-gap) / 2);
  top:.5em;bottom:-.5em;width:1px;background:#d8d2c9;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr:last-child{padding-bottom:0;}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr:last-child::before{content:none;}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr:hover td{background:none;}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td{
  display:block;grid-column:2;padding:0;border:0;background:none;
  white-space:normal;overflow-wrap:break-word;
}
/* Anno: colonna di sinistra, allineato all'asse; il punto è suo. */
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:first-child{
  grid-column:1;grid-row:1 / span 6;position:relative;
  text-align:right;font-family:var(--bcb-titoli);font-weight:600;
  font-size:.9rem;line-height:1.5;color:#6d675d;margin:0;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:first-child::after{
  content:"";position:absolute;top:.4em;
  left:calc(100% + var(--bcb-tl-gap) / 2 - 5px);
  width:11px;height:11px;box-sizing:border-box;border-radius:50%;
  border:2px solid var(--bcb-antracite);background:var(--bcb-grigio);
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr:last-child td:first-child::after{
  border-color:var(--bcb-arancio);background:var(--bcb-arancio);
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr:last-child td:first-child{color:var(--bcb-antracite);}
/* Voce: il titolo della scheda. */
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:nth-child(2){
  font-family:var(--bcb-titoli);font-weight:600;font-size:1.05rem;line-height:1.35;margin:0;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:nth-child(2)::before{content:none;}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:nth-child(n+3){
  margin:.7em 0 0;font-family:var(--bcb-testo);font-weight:400;
}
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:nth-child(n+3)::before{
  content:attr(data-label);display:block;
  font-family:var(--bcb-titoli);font-weight:600;
  font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;
  color:#6d675d;margin-bottom:2px;
}
/* Schermi stretti: l'asse va al bordo sinistro, l'anno sale sopra la voce. */
@media(max-width:600px){
  .bitcal-blog.bitcal-single .bcb-single-content figure.wp-block-table.is-style-timeline{--bcb-tl-gap:1.75rem;}
  .bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr{
    grid-template-columns:minmax(0,1fr);padding:0 0 1.8em var(--bcb-tl-gap);
  }
  .bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline tbody tr::before{left:5px;}
  .bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td,
  .bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:first-child{
    grid-column:1;grid-row:auto;
  }
  .bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:first-child{
    text-align:left;margin-bottom:.15em;font-size:.85rem;
  }
  .bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline td:first-child::after{
    left:calc(-1 * var(--bcb-tl-gap));
  }
}

/* Cronologia ad asse (costruita da blog-bitcal.js sulla stessa tabella),
   scelta dall'utente fra tre varianti in una pagina di prova.
   Per ogni voce un disco col suo colore e l'anno, dentro un anello aperto
   dello stesso colore, con un'ombra morbida; accanto solo nome e autore
   (le colonne di testo della tabella l'utente le ha volute fuori). Colori
   dal blu scuro all'azzurro, l'approdo in arancio (--bcb-c, e --bcb-cs più
   scuro per i titoli, dal JS).
   Schermi larghi: asse orizzontale, una colonna per voce (--bcb-n dal JS),
   nomi alternati sopra e sotto l'asse perché abbiano lo spazio di due
   colonne. Sotto i 640px di larghezza (container query): asse verticale a
   sinistra, nomi a destra. */
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline.bcb-crono-pronta > table,
.bitcal-blog.bitcal-single .bcb-single-content figure.is-style-timeline.bcb-crono-pronta > figcaption{display:none;}
.bitcal-blog .bcb-crono{container-type:inline-size;}
.bitcal-blog .bcb-single-content .bcb-crono p{margin:0;}
.bitcal-blog .bcb-single-content ol.bcb-crono-asse{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(var(--bcb-n),minmax(0,1fr));
}
/* Le voci sono li del contenuto: il selettore con li. batte il margine che
   il tema dà agli elementi di elenco. */
.bitcal-blog.bitcal-single .bcb-single-content li.bcb-crono-voce{
  display:grid;grid-template-rows:64px 92px 64px;justify-items:center;
  position:relative;margin:0;padding:0;
}
/* L'asse: un tratto per voce, dal centro della precedente alla successiva. */
.bitcal-blog .bcb-crono-voce::after{
  content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:#cfc6b8;
}
.bitcal-blog .bcb-crono-voce:first-child::after{left:50%;}
.bitcal-blog .bcb-crono-voce:last-child::after{right:50%;}
.bitcal-blog .bcb-crono-nodo{
  grid-row:2;position:relative;z-index:1;
  width:92px;height:92px;display:flex;align-items:center;justify-content:center;
}
/* Fondo crema grande quanto l'anello (raggio 48/120 di 92px = 37px): copre
   l'asse fino all'anello, così la linea si ferma lì e non spunta dentro. */
.bitcal-blog .bcb-crono-nodo::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--bcb-grigio);}
.bitcal-blog .bcb-crono-nodo svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg);}
.bitcal-blog .bcb-crono-nodo path{fill:none;stroke:var(--bcb-c);stroke-width:2.4;stroke-linecap:round;}
.bitcal-blog .bcb-crono-voce.is-sinistra .bcb-crono-nodo svg{transform:rotate(90deg);}
.bitcal-blog .bcb-crono-disco{
  position:relative;width:60px;height:60px;border-radius:50%;background:var(--bcb-c);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--bcb-titoli);font-weight:700;font-size:.86rem;color:#fff;letter-spacing:-.01em;
  box-shadow:0 12px 18px -10px rgba(28,28,28,.4);
}
/* Nomi: sopra l'asse le voci pari, sotto le dispari; larghi fino a due
   colonne, centrati sul loro disco. */
.bitcal-blog .bcb-crono-testo{width:200%;max-width:190px;text-align:center;}
.bitcal-blog .bcb-crono-voce.is-destra .bcb-crono-testo{grid-row:1;align-self:end;padding-bottom:6px;}
.bitcal-blog .bcb-crono-voce.is-sinistra .bcb-crono-testo{grid-row:3;align-self:start;padding-top:6px;}
.bitcal-blog .bcb-single-content h3.bcb-crono-nome{
  margin:0;font-family:var(--bcb-titoli);font-weight:600;font-size:.95rem;line-height:1.3;color:var(--bcb-cs);
}
.bitcal-blog .bcb-single-content .bcb-crono p.bcb-crono-autore{
  margin:2px 0 0;font-family:var(--bcb-titoli);font-weight:500;font-size:.76rem;line-height:1.35;color:#6d675d;
}

@container (max-width:640px){
  .bitcal-blog .bcb-single-content ol.bcb-crono-asse{display:block;}
  .bitcal-blog.bitcal-single .bcb-single-content li.bcb-crono-voce{
    grid-template-rows:none;grid-template-columns:92px 1fr;column-gap:14px;
    justify-items:start;align-items:center;min-height:108px;
  }
  .bitcal-blog .bcb-crono-voce::after{left:46px;right:auto;top:0;bottom:0;width:1.5px;height:auto;margin:0 0 0 -.75px;}
  .bitcal-blog .bcb-crono-voce:first-child::after{left:46px;top:50%;}
  .bitcal-blog .bcb-crono-voce:last-child::after{right:auto;bottom:50%;}
  .bitcal-blog .bcb-crono-nodo{grid-row:1;grid-column:1;}
  .bitcal-blog .bcb-crono-nodo svg,
  .bitcal-blog .bcb-crono-voce.is-sinistra .bcb-crono-nodo svg{transform:none;}
  .bitcal-blog .bcb-crono-voce.is-destra .bcb-crono-testo,
  .bitcal-blog .bcb-crono-voce.is-sinistra .bcb-crono-testo{
    grid-row:1;grid-column:2;width:auto;max-width:none;text-align:left;align-self:center;padding:0;
  }
  .bitcal-blog .bcb-single-content h3.bcb-crono-nome{font-size:1rem;}
  .bitcal-blog .bcb-single-content .bcb-crono p.bcb-crono-autore{font-size:.78rem;margin-top:3px;}
}

/* ==================================================================
   BitCal — Percorsi di studio (template indice e capitolo)
   ================================================================== */
.bitcal-blog .bcb-indice-cta{margin:28px 0 0;font-family:var(--bcb-titoli);font-weight:600;}

/* Stessa colonna dell'introduzione (.bcb-single-content, centrata):
   prima l'elenco partiva dal bordo sinistro del contenitore e il testo
   sopra era centrato, così i due blocchi non si allineavano. */
.bitcal-blog .bcb-capitoli{max-width:var(--bcb-colonna);margin:56px auto 0;}
.bitcal-blog .bcb-capitoli-lista{
  list-style:none;margin:28px 0 0;padding:0;
  display:grid;gap:18px;
}
.bitcal-blog .bcb-capitolo-item{
  display:flex;gap:20px;align-items:flex-start;
  background:var(--bcb-carta);border:1px solid #d8d8d8;border-radius:0;
  padding:24px 26px;transition:border-color .18s ease,transform .18s ease;
}
/* Al passaggio del mouse la riga si solleva di 2px, lo stesso gesto delle
   card degli articoli: il solo cambio di bordo non bastava a far capire che
   la riga intera è cliccabile. */
.bitcal-blog .bcb-capitolo-item:hover{border-color:var(--bcb-azzurro);transform:translateY(-2px);}
.bitcal-blog .bcb-capitolo-num{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;box-sizing:border-box;
  /* Solo contorno, niente disco pieno: l'arancio resta un segno di linea,
     come i pallini del livello, e non un bollo che pesa a ogni riga.
     La cifra passa in antracite: in arancio su fondo crema si leggerebbe male. */
  background:transparent;border:1.5px solid var(--bcb-arancio);
  color:var(--bcb-antracite);
  font-family:var(--bcb-titoli);font-weight:600;
  display:flex;align-items:center;justify-content:center;
  /* Cifra inclinata di 14 gradi come la ₿ del logo Bitcoin, e come il disco
     delle domande del test. Il disco resta rotondo: ruota solo il numero. */
  transform:rotate(14deg);
}
.bitcal-blog .bcb-capitolo-testo h3{
  font-family:var(--bcb-titoli);font-weight:600;font-size:1.1rem;margin:4px 0 0;
}
.bitcal-blog .bcb-capitolo-testo h3 a{text-decoration:none;color:var(--bcb-antracite);}
.bitcal-blog .bcb-capitolo-testo h3 a:hover{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-capitolo-testo p{margin:8px 0 0;font-size:.92rem;line-height:1.6;color:#3a3a3a;}
.bitcal-blog .bcb-capitolo-testo .bcb-meta{margin-top:12px;}

.bitcal-blog .bcb-percorso-successivo{
  max-width:var(--bcb-colonna);margin:44px auto 0;padding:18px 22px;
  border-top:1px solid #d8d2c9;font-family:var(--bcb-titoli);
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.bitcal-blog .bcb-percorso-successivo-label{
  color:#6a655d;font-size:.68rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;
}
.bitcal-blog .bcb-percorso-successivo .bcb-leggi{
  color:var(--bcb-arancio);font-size:.92rem;font-weight:500;
  text-decoration:none;
}
.bitcal-blog .bcb-percorso-successivo .bcb-leggi:hover{
  color:var(--bcb-azzurro);text-decoration:underline;
}

/* ---------- Scheda del percorso (hero dell'indice) ----------
   Nessuna cornice e nessun filetto: i dati stanno sul fondo scuro
   dell'hero, tenuti insieme solo dalla griglia e dalla spaziatura. */
.bitcal-blog.bitcal-single .bcb-percorso-scheda{width:100%;max-width:340px;}
.bitcal-blog.bitcal-single .bcb-percorso-scheda dl{
  margin:0;display:grid;grid-template-columns:1fr 1fr;gap:26px 28px;
}
.bitcal-blog.bitcal-single .bcb-scheda-riga{border:0;padding:0;}
.bitcal-blog.bitcal-single .bcb-scheda-riga dt{
  font-family:var(--bcb-titoli);font-size:.64rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(231,231,231,.5);margin:0 0 8px;
}
.bitcal-blog.bitcal-single .bcb-scheda-riga dd{
  margin:0;font-family:var(--bcb-titoli);font-size:1.02rem;font-weight:400;
  line-height:1.3;color:var(--bcb-grigio);
}
.bitcal-blog.bitcal-single .bcb-scheda-riga .bcb-liv{font-size:1.02rem;font-weight:400;gap:8px;}

/* Scheda di capitolo e di indice: tre colonne invece di due. Così la prima
   riga tiene insieme i dati di ciò che si legge — posizione, livello,
   minuti — e la seconda parte dai numeri del corredo: domande, guide,
   approfondimenti. A due colonne i minuti cadevano a capo, staccati dal
   livello a cui appartengono, e la riga sotto mescolava le due cose.
   La scheda si allarga di quel tanto che serve perché "APPROFONDIMENTI"
   non vada a capo nella sua colonna. Le due pagine la condividono perché
   mostrano lo stesso tipo di dato nello stesso punto dell'hero: passando
   dall'indice al capitolo la scheda non deve cambiare forma.
   Sotto i 600px si torna a due colonne: tre sarebbero strette da leggere. */
.bitcal-blog.bitcal-single .bcb-capitolo-scheda,
.bitcal-blog.bitcal-percorso-indice .bcb-percorso-scheda{max-width:460px;}
.bitcal-blog.bitcal-single .bcb-capitolo-scheda dl,
.bitcal-blog.bitcal-percorso-indice .bcb-percorso-scheda dl{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px;
}
@media(max-width:600px){
  .bitcal-blog.bitcal-single .bcb-capitolo-scheda dl,
  .bitcal-blog.bitcal-percorso-indice .bcb-percorso-scheda dl{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;
  }
}

/* Scheda dati dell'indice: la stessa del capitolo.
   Prima era un caso a sé — allineata a destra, in due colonne strette, con
   etichette e valori rimpiccioliti — e accanto alla scheda del capitolo si
   leggeva come un altro componente. Sono lo stesso dato (le misure di ciò
   che stai per leggere) nello stesso posto, quindi si presentano uguali:
   a sinistra, stessa griglia, stessi corpi. Qui resta solo la larghezza,
   perché l'indice ha meno voci e non gli serve la colonna in più. */
/* Stessa griglia del capitolo (1.25fr 1fr sulla larghezza piena della
   wrap): cosi' la colonna dei dati parte allo stesso punto nelle due
   pagine, e passando dall'indice al capitolo la scheda non si sposta.
   Cambia solo align-items, perche' qui il testo e' piu' corto. */
.bitcal-blog.bitcal-percorso-indice .bcb-single-hero-inner{
  align-items:start;
}
.bitcal-blog.bitcal-percorso-indice .bcb-single-hero-visual{
  padding-top:4px;
}
@media(max-width:900px){
  .bitcal-blog.bitcal-percorso-indice .bcb-single-hero-inner{
    grid-template-columns:1fr;gap:28px;
  }
  .bitcal-blog.bitcal-percorso-indice .bcb-single-hero-visual{
    order:0;justify-content:flex-start;
  }
}
/* Nota di chiusura dell'indice: stessa colonna del testo. */
.bitcal-blog .bcb-nota-uso-percorso{
  max-width:680px;margin:56px auto 0;padding:22px 0 0;
  background:none;border:0;border-top:1px solid rgba(28,28,28,.12);
}
.bitcal-blog .bcb-nota-uso-percorso .bcb-eyebrow{
  display:block;margin:0 0 14px;
}
/* Testo di servizio: misura stretta, corpo piccolo, nessun colore acceso. */
.bitcal-blog .bcb-nota-uso-percorso .bcb-nota-uso-compatta{
  margin:0;font-size:.88rem;line-height:1.75;color:#5a5a5a;
}
.bitcal-blog .bcb-nota-uso-percorso .bcb-nota-uso-compatta strong{
  color:var(--bcb-antracite);font-weight:600;
}

/* ---------- Briciole di pane (indice, capitolo, guide) ---------- */
/* Briciole dell'hero. Si leggono come una gerarchia, non come una fila di
   link uguali: gli antenati stanno in sottotono, la voce dove siamo prende
   l'arancio e non è cliccabile. Fra una voce e l'altra un punto centrato,
   perché in maiuscoletto spaziato, senza separatore, le tre voci si leggono
   come un'unica riga di testo. */
.bitcal-blog .bcb-briciole{
  display:flex;flex-wrap:wrap;gap:6px 0;align-items:baseline;
  font-family:var(--bcb-titoli);font-size:.72rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:14px;
}
.bitcal-blog .bcb-briciole a{
  color:var(--bcb-carta);opacity:.62;text-decoration:none;
  transition:color .15s ease,opacity .15s ease;
}
.bitcal-blog .bcb-briciole a:hover,
.bitcal-blog .bcb-briciole a:focus-visible,
.bitcal-blog .bcb-briciole a:active{
  color:var(--bcb-azzurro);opacity:1;text-decoration:underline;
}
/* Lo spazio orizzontale fra le voci lo tiene il separatore (il gap è a 0),
   così il punto resta a metà strada e non si incolla alla voce seguente. */
.bitcal-blog .bcb-briciole-sep{color:var(--bcb-carta);opacity:.35;margin:0 9px;}
.bitcal-blog .bcb-briciole-ora,
.bitcal-blog .bcb-briciole [aria-current="page"]{color:var(--bcb-arancio);}

/* Nell'indice, Home e il tipo di percorso condividono la stessa riga. */
.bitcal-blog.bitcal-percorso-indice .bcb-single-hero-text .bcb-briciole{
  display:inline-flex;margin:0 18px 0 0;vertical-align:middle;
}
.bitcal-blog.bitcal-percorso-indice .bcb-single-hero-text .bcb-eyebrow{
  display:inline-block;vertical-align:middle;margin:0;
}
.bitcal-blog.bitcal-percorso-indice .bcb-percorso-titolo-link{
  color:var(--bcb-arancio);text-decoration:none;
}
.bitcal-blog.bitcal-percorso-indice .bcb-percorso-titolo-link:hover{
  color:var(--bcb-azzurro);text-decoration:none;
}

/* ---------- Elenco capitoli nella nav del capitolo ---------- */
.bitcal-blog.bitcal-single .bcb-nav-tutti{margin-top:36px;}
.bitcal-blog.bitcal-single .bcb-nav-tutti-titolo{
  font-family:var(--bcb-titoli);font-size:.7rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--bcb-azzurro);
  margin:0 0 14px;
}
.bitcal-blog.bitcal-single .bcb-nav-tutti-lista{
  list-style:none;margin:0;padding:0;counter-reset:bcb-cap;
  display:grid;grid-template-columns:1fr 1fr;gap:9px 28px;
}
.bitcal-blog.bitcal-single .bcb-nav-tutti-lista li{
  counter-increment:bcb-cap;
  display:flex;gap:10px;align-items:baseline;
  font-family:var(--bcb-titoli);font-size:.9rem;line-height:1.4;
}
.bitcal-blog.bitcal-single .bcb-nav-tutti-lista li::before{
  content:counter(bcb-cap);
  flex:0 0 auto;min-width:1.4em;text-align:right;
  font-weight:600;color:var(--bcb-arancio);
}
.bitcal-blog.bitcal-single .bcb-nav-tutti-lista a{
  color:var(--bcb-antracite);text-decoration:none;
}
.bitcal-blog.bitcal-single .bcb-nav-tutti-lista a:hover{
  color:var(--bcb-azzurro);text-decoration:underline;
}
.bitcal-blog.bitcal-single .bcb-nav-tutti-lista [aria-current="page"]{
  font-weight:600;color:var(--bcb-azzurro);
}
.bitcal-blog.bitcal-single .bcb-nav-percorsi{
  margin:32px 0 0;font-family:var(--bcb-titoli);font-weight:600;
}
@media(max-width:600px){
  .bitcal-blog.bitcal-single .bcb-nav-tutti-lista{grid-template-columns:1fr;}
}

/* ==================================================================
   BitCal — Nota "percorsi e articoli", Approfondimenti, Rimando
   Collegamento fra capitoli (base) e articoli (approfondimenti).
   ================================================================== */

/* Nota informativa in home: come usare percorsi e articoli */
/* 56px come tutte le altre sezioni, non 52: l'unico valore fuori scala del
   ritmo verticale della home. Sopra la sezione il vuoto è solo il suo padding,
   sotto si somma a quello di "In evidenza" (56+56): per questo lo stacco
   inferiore sembra il doppio. La cura non è tagliare il padding qui, che
   romperebbe il ritmo, ma togliere l'accumulo dove le sezioni si toccano. */
.bitcal-blog .bcb-sezione-nota-uso{padding:56px 0;}
.bitcal-blog .bcb-nota-uso{max-width:1140px;margin:0 auto;}
.bitcal-blog .bcb-nota-uso h3{
  font-family:var(--bcb-titoli);font-weight:600;font-size:1.15rem;
  /* 28px: il titolo è l'occhiello di sei colonne, non di un paragrafo. */
  margin:0 0 28px;color:var(--bcb-antracite);text-align:left;
}
/* Tutte le voci restano sulla stessa riga nei desktop ampi. */
.bitcal-blog .bcb-nota-uso-griglia{
  /* 24px, sulla scala degli spazi: 18px era un valore a sé. */
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 24px;
  /* Due righe (titolo, testo) che le voci ereditano con subgrid. */
  grid-template-rows:auto auto;
}
/* Titolo e paragrafo di ogni voce stanno su due righe della griglia, non
   dentro la voce: così i sei titoli partono dal filetto e i sei paragrafi da
   una quota comune, qualunque sia il numero di righe del titolo. Riservare
   due righe a tutti i titoli (min-height) allineava i paragrafi ma apriva un
   vuoto sotto i cinque titoli brevi, più visibile dello sfalsamento. */
.bitcal-blog .bcb-nota-uso-item{display:grid;grid-template-rows:subgrid;grid-row:span 2;}
.bitcal-blog .bcb-nota-uso-item{border-top:2px solid var(--bcb-arancio);padding-top:16px;}
.bitcal-blog .bcb-nota-uso-item h4{
  font-family:var(--bcb-titoli);font-weight:600;font-size:1rem;
  /* Niente margine sotto: fra la riga del titolo e quella del testo lo stacco
     lo mette il row-gap della griglia, altrimenti si sommano. */
  margin:0;
}
.bitcal-blog .bcb-nota-uso-item h4 a{color:var(--bcb-antracite);text-decoration:none;}
.bitcal-blog .bcb-nota-uso-item h4 a:hover{color:var(--bcb-azzurro);}
.bitcal-blog .bcb-nota-uso-item p{margin:0;font-size:.84rem;line-height:1.55;color:#4a4a4a;}
@media(max-width:1100px){
  /* A tre colonne le righe hanno bisogno di più stacco verticale che
     orizzontale: le due file non devono leggersi come una griglia sola. */
  .bitcal-blog .bcb-nota-uso-griglia{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;}
  /* A tre e a una colonna le voci tornano blocchi indipendenti: le righe
     della griglia sono più di due e la subgrid non ha senso. */
  .bitcal-blog .bcb-nota-uso-griglia{grid-template-rows:none;}
  .bitcal-blog .bcb-nota-uso-item{display:block;}
  /* Senza la subgrid lo stacco fra titolo e testo torna sul titolo. */
  .bitcal-blog .bcb-nota-uso-item h4{margin-bottom:8px;}
}
@media(max-width:560px){
  .bitcal-blog .bcb-nota-uso-griglia{grid-template-columns:1fr;gap:28px;}
}

/* Box "Approfondisci questo tema" in fondo al capitolo */
.bitcal-blog.bitcal-single .bcb-approfondimenti{padding-top:10px;}
.bitcal-blog .bcb-approfondimenti-intro{
  font-family:var(--bcb-testo);font-size:.95rem;line-height:1.6;
  color:#3a3a3a;margin:-12px 0 24px;max-width:62ch;
}
.bitcal-blog .bcb-approfondimenti-griglia{
  display:grid;gap:24px;
  grid-template-columns:repeat(auto-fill,minmax(280px,360px));
}

/* Rimando dall'articolo al capitolo base. È un richiamo utile, non una
   decorazione: resta leggibile ma senza riquadro e senza barra verticale
   colorata (vedi DESIGN.md). Un filetto sotto lo separa dal testo che segue. */
.bitcal-blog.bitcal-single .bcb-rimando{
  max-width:var(--bcb-colonna);margin:0 auto 32px;
  background:none;border:0;border-radius:0;
  border-bottom:1px solid rgba(28,28,28,.12);
  padding:0 0 18px;
  font-family:var(--bcb-titoli);font-size:.84rem;line-height:1.6;color:#6a655d;
}
.bitcal-blog.bitcal-single .bcb-rimando a{
  color:var(--bcb-azzurro);text-decoration:underline;text-underline-offset:3px;
}
.bitcal-blog.bitcal-single .bcb-rimando a:hover{color:var(--bcb-arancio);}

/* Link Home nella hero (articoli, indice percorso, capitolo) — solo testo */
.bitcal-blog .bcb-home-btn{
  display:inline-block;
  font-family:var(--bcb-titoli);font-size:.72rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  color:var(--bcb-carta);
  margin-bottom:18px;
  transition:color .15s ease;
}
.bitcal-blog .bcb-home-btn:hover{
  color:var(--bcb-azzurro);text-decoration:underline;
}

/* ==================================================================
   Movimento e scorrevolezza (sottili) — reveal, parallasse, colori
   ================================================================== */

/* Scroll-reveal: dissolvenza + lieve risalita (classe aggiunta da JS) */
.bitcal-blog .bcb-reveal{
  opacity:0;transform:translateY(44px) scale(.975);
  transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1);
}
.bitcal-blog .bcb-reveal.is-visible{opacity:1;transform:none;}
/* Le card dentro una sezione entrano sfalsate (stagger marcato) */
.bitcal-blog .bcb-griglia .bcb-card:nth-child(2){transition-delay:.10s;}
.bitcal-blog .bcb-griglia .bcb-card:nth-child(3){transition-delay:.20s;}
.bitcal-blog .bcb-griglia .bcb-card:nth-child(4){transition-delay:.30s;}
.bitcal-blog .bcb-griglia .bcb-card:nth-child(5){transition-delay:.40s;}
.bitcal-blog .bcb-griglia .bcb-card:nth-child(6){transition-delay:.50s;}
/* Idem per l'elenco dei capitoli, con passo più corto: le righe sono vicine
   e un ritardo da .10s le farebbe sembrare scollegate fra loro. */
.bitcal-blog .bcb-capitoli-lista .bcb-capitolo-item:nth-child(2){transition-delay:.06s;}
.bitcal-blog .bcb-capitoli-lista .bcb-capitolo-item:nth-child(3){transition-delay:.12s;}
.bitcal-blog .bcb-capitoli-lista .bcb-capitolo-item:nth-child(4){transition-delay:.18s;}
.bitcal-blog .bcb-capitoli-lista .bcb-capitolo-item:nth-child(5){transition-delay:.24s;}
.bitcal-blog .bcb-capitoli-lista .bcb-capitolo-item:nth-child(6){transition-delay:.30s;}

/* Card: meno "blocco", più morbide (ombra al posto del bordo netto) */
.bitcal-blog .bcb-card{
  border-color:#e8e1d4;border-radius:0;
  box-shadow:0 6px 24px rgba(50,47,41,.06);
}
.bitcal-blog .bcb-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(50,47,41,.15);}

/* Linee-accento: i colori scorrono lentamente */
.bitcal-blog::after,
.bitcal-blog .bcb-hero::after,
.bitcal-blog.bitcal-single .bcb-single-hero::after{
  background:linear-gradient(90deg,var(--bcb-arancio),var(--bcb-azzurro),var(--bcb-arancio));
  background-size:200% 100%;
  animation:bcb-flow 9s linear infinite;
}
@keyframes bcb-flow{from{background-position:0 0;}to{background-position:200% 0;}}

/* Parallasse: la filigrana dell'hero si muove più piano (var da JS) */
.bitcal-blog:not(.bitcal-single) .bcb-hero::before{
  transform:translateY(calc(-50% + var(--bcb-parallax,0px)));
  will-change:transform;
}

@media (prefers-reduced-motion: reduce){
  .bitcal-blog .bcb-reveal{opacity:1;transform:none;}
  .bitcal-blog::after,
  .bitcal-blog .bcb-hero::after,
  .bitcal-blog.bitcal-single .bcb-single-hero::after{animation:none;}
  .bitcal-blog:not(.bitcal-single) .bcb-hero::before{transform:translateY(-50%);}
}

/* ---------- Pulsante "Torna su" (flottante, iniettato in wp_footer) ---------- */
button.bcb-torna-su{
  position:fixed;right:24px;bottom:24px;z-index:9999;
  /* Cerchio: lato uguale e raggio pieno. Il rettangolo verticale 46x58 veniva
     dalla freccia allungata che conteneva; ora la freccia è quadrata e il
     pulsante torna un disco, come le pillole del livello. */
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  /* Stesso velo crema del pulsante "Glossario": la crema è quella dello sfondo
     pagina (--bcb-grigio var(--bcb-grigio)), scritta per esteso perché il pulsante è
     iniettato in wp_footer, fuori da .bitcal-blog. */
  background:rgba(243,238,230,.68) !important;color:var(--bcb-azzurro) !important;
  border:2px solid var(--bcb-azzurro) !important;cursor:pointer;
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  line-height:1;
  transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
button.bcb-torna-su[hidden]{display:none;}
button.bcb-torna-su svg{display:block;}
/* Il riempimento azzurro solo dove esiste un puntatore vero. Sul touch il
   browser lascia :hover attaccato dopo il tocco e il pulsante restava blu
   fino al tocco successivo. */
@media (hover: hover){
  button.bcb-torna-su:hover{background:var(--bcb-azzurro) !important;border-color:var(--bcb-azzurro) !important;color:#fff !important;transform:translateY(-3px);}
}
button.bcb-torna-su:focus-visible{outline:3px solid var(--bcb-azzurro);outline-offset:2px;}
@media (max-width:600px){
  button.bcb-torna-su{right:16px;bottom:16px;width:46px;height:46px;}
}
@media (prefers-reduced-motion: reduce){
  .bcb-torna-su{transition:none;}
  .bcb-torna-su:hover{transform:none;}
}

/* ---------- Pulsante "Glossario" (flottante, iniettato in wp_footer) ---------- */
/* Angolo opposto a "Torna su": sempre visibile durante la lettura. */
a.bcb-glossario-fab{
  position:fixed;left:24px;top:24px;z-index:9998;
  display:inline-flex;align-items:center;gap:7px;padding:8px 6px;
  /* Da tablet in su resta la sola scritta, come era nato: sugli schermi larghi
     il testo dell'articolo non gli passa sotto e la cornice non serve.
     Il velo crema è confinato al blocco mobile in fondo a questa sezione.
     Colore scritto per esteso, non var(--bcb-azzurro): il pulsante è iniettato
     in wp_footer, fuori da .bitcal-blog, dove quella variabile non arriva. */
  background:transparent;color:var(--bcb-azzurro);
  border:0;border-radius:0;
  font-family:'Poppins',-apple-system,sans-serif;
  font-size:.95rem;font-weight:400;letter-spacing:.01em;
  text-decoration:none;line-height:1;
  transition:color .15s ease,background-color .15s ease,transform .15s ease;
}
a.bcb-glossario-fab svg{flex:none;display:block;}
a.bcb-glossario-fab[hidden]{display:none;}
/* Entrata: scivola da sinistra verso destra fino al suo posto, sfumando in
   contemporanea. Niente ombre né pulsazioni. La classe viene aggiunta/rimossa
   via JS a ogni comparsa. */
a.bcb-glossario-fab.bcb-fab-anim{
  animation:bcb-fab-in .55s cubic-bezier(.22,.61,.36,1) backwards;
}
@keyframes bcb-fab-in{
  0%{opacity:0;transform:translateX(-28px);}
  100%{opacity:1;transform:translateX(0);}
}
@media (hover: hover){
  a.bcb-glossario-fab:hover{color:#176fa3;transform:translateX(2px);}
}
a.bcb-glossario-fab:focus-visible{outline:3px solid var(--bcb-azzurro);outline-offset:2px;}
@media (max-width:600px){
  /* Solo qui il testo dell'articolo scorre sotto al pulsante: velo crema dello
     stesso colore dello sfondo pagina (--bcb-grigio var(--bcb-grigio)), bordo agganciato
     al colore della scritta e sfocatura, così quello che passa dietro sfuma
     invece di leggersi attraverso. Spigoli vivi come "Torna su". */
  a.bcb-glossario-fab{
    left:16px;top:16px;padding:7px 10px;gap:6px;
    /* Un po' più compatto che su desktop: qui sta sopra al testo, quindi meno
       ingombro ruba. Il simbolo del libro è dichiarato 23px negli attributi
       dell'SVG, va riscritto in CSS. */
    font-size:.85rem;
    background:rgba(243,238,230,.68);
    border:2px solid currentColor;
    backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
  }
  a.bcb-glossario-fab svg{width:19px;height:19px;}
}
@media (prefers-reduced-motion: reduce){
  a.bcb-glossario-fab{transition:none;}
  a.bcb-glossario-fab:hover{transform:none;}
  a.bcb-glossario-fab.bcb-fab-anim{animation:none;}
}

/* ---------- Osservatorio Bitcoin (news, sopra gli articoli) ---------- */
.bitcal-blog .bcb-osservatorio-tutte{margin:22px 0 0;font-family:var(--bcb-titoli);font-weight:600;font-size:.88rem;}
.bitcal-blog .bcb-osservatorio-tutte a{color:var(--bcb-azzurro);text-decoration:none;}
.bitcal-blog .bcb-osservatorio-tutte a:hover{text-decoration:underline;}

/* Briciole: l'ultima voce può essere un link (categoria, gruppo del glossario):
   resta in arancio come la voce "dove siamo" e passa all'azzurro solo al passaggio. */
.bitcal-blog .bcb-briciole a.bcb-briciole-ora{color:var(--bcb-arancio);opacity:1;}
.bitcal-blog .bcb-briciole a.bcb-briciole-ora:hover,
.bitcal-blog .bcb-briciole a.bcb-briciole-ora:focus-visible{color:var(--bcb-azzurro);}
