/* ===============================
   NORMATIVA — CSS COMPATTO
   =============================== */

/* Utili */
.elid { display: none !important; }

/* Link e tipografia base nell’ambiente norme */
body.single-norme { /* scope */ }
body.single-norme p { margin: 9px 0 0 !important; }
body.single-norme a,
body.single-norme a:visited,
body.single-norme a:hover,
body.single-norme a:focus {
  color: #003366;
  }

/* Intestazioni / layout pagina */
h1.trail-title { display: none; }
.site-content.tg-container { padding: 0 10rem; }

.titolo-norma { text-align: center; font-weight: 700; }

/* Blocco bandiera + vigenza */
.info-vigenza { display: flex; align-items: center; gap: .5rem; }
.info-vigenza .bandiera { font-size: 2.4rem; }
.info-vigenza .etichetta-vigenza {
  padding: .2rem .6rem; border-radius: 5px !important;
  font-weight: 700; font-size: .9rem;
}

/* Titolo esteso */
.titolo-esteso { font-weight: 800; margin: 0 0 .4rem; font-size: 1.4rem; }
.titolo-esteso > p { margin-bottom: 8px; }

/* ===============================
   SCHEDA PROVVEDIMENTO
   =============================== */
.scheda-provvedimento {
  margin-bottom: 1.5rem;
  border: 1px solid #bbe3f7;
  padding: 0;
  background: transparent;
}
.scheda-provvedimento > summary {
  background: #cce8f5;
  padding: .4rem 1rem;
  font-weight: 700;
  cursor: pointer;
  text-transform: uppercase;
  border-bottom: 1px solid #a7d7f2;
}
.scheda-provvedimento > .scheda-contenuto { background: #eaf6fc; padding: 1.5rem; }
.scheda-provvedimento > p { margin: 0; }

.nota-scheda { font-size: .8em; font-style: italic; }

/* ACF blocchi */
.acf-blocco { padding-top: .5rem; }
.acf-blocco > p,
.acf-contenuto > p { margin-bottom: 10px !important; }
.acf-contenuto { margin-top: .2rem; }

/* Variante affiancata */
.acf-blocco.affiancato {
  display: flex; align-items: flex-start; gap: .5rem; margin-bottom: 1rem;
}
.acf-blocco.affiancato .acf-etichetta {
  flex: 0 0 auto; font-weight: 600; white-space: nowrap; line-height: 1.4; margin: 0;
}
.acf-blocco.affiancato .acf-contenuto {
  flex: 1 1 0; min-width: 0; margin: 0; padding: 0;
}
.acf-blocco.affiancato .acf-contenuto > *:first-child { margin-top: 0 !important; }
.acf-blocco.affiancato .acf-contenuto > *:last-child  { margin-bottom: 0 !important; }
.acf-blocco.affiancato .acf-contenuto p,
.acf-blocco.affiancato .acf-contenuto ul,
.acf-blocco.affiancato .acf-contenuto ol { margin: 0 !important; padding-left: 0; }

/* ===============================
   INDICE
   =============================== */
.indice-testo { margin-top: 2rem; }
.indice-testo .indice-titolo,
.indice-testo h2 {
  text-align: center; font-weight: 700; font-size: 1.2em; margin-top: 2em; 
}
.indice-testo .indice-lista,
.indice-testo ul { list-style: none; padding-left: 0; margin: 0 0 2rem; }
.indice-testo li.livello-h6 {
  margin: .1em 0 .05em; line-height: 0.9; font-size: .90em;
}
.indice-testo li.livello-h1,
.indice-testo li.livello-h2,
.indice-testo li.livello-h3,
.indice-testo li.livello-h4,
.indice-testo li.livello-h5 {
  margin: 1em 0 .6em !important; line-height: 1.2; font-size: 1em;
}
.indice-testo li.livello-h1 a { font-weight: 700; text-decoration: underline; }
.indice-testo li.livello-h2 a { font-weight: 700; text-decoration: none; }
.indice-testo li.livello-h3 a { font-weight: 700; text-decoration: none; }
.indice-testo li.livello-h4 a { text-decoration: underline; font-weight: 400; }
.indice-testo li.livello-h5 a { font-style: italic; font-weight: 400; text-decoration: none; }

/* ===============================
   BLOCCO CONTENUTO
   =============================== */
.blocco-contenuto { margin-top: 2rem; text-align: justify; }
.blocco-contenuto > h2 {
  text-align: center; font-weight: 700; font-size: 1.2em; margin-top: 2em;
}
.blocco-contenuto p,
.blocco-contenuto ul,
.blocco-contenuto ol { line-height: 1.18; margin: 1em 0; }
.blocco-contenuto h2,
.blocco-contenuto h3,
.blocco-contenuto h4,
.blocco-contenuto h5,
.blocco-contenuto h6 { margin-bottom: .0em; }
.blocco-contenuto p.note {
  margin: 0 !important; font-size: 11px !important; color: #B22222 !important;
  font-style: oblique; padding: 0 !important;
}

/* Preambolo */
.blocco-contenuto details {
  margin-top: 1rem;
  border: 2px solid #000;
  border-radius: 6px;
  padding: .5rem 1rem;
}
.blocco-contenuto summary { font-weight: 700; cursor: pointer; }
.blocco-contenuto details > div { margin-top: 1rem; }

/* Testo della norma (wrapper WP) */
.contenuto-normativa.entry-content { margin-top: 2rem; }

/* Nasconde i testi storici nel frontend (default) */
.eltestistorici .eltestostorico { display: none; }

/* ===============================
   ETICHETTE / BADGE
   =============================== */
/* Etichette dei riquadri (prefissi) in stile "testi storici" */
.elvigenza::before,
.elvariazioni::before,
.elattuazione::before,
.eltestodaa::before {
  display: inline-block;
  font-weight: 700;
  background: #0073aa;      /* blu testi storici */
  color: #fff;               /* testo bianco */
  border: 1px solid #005e91;
  border-radius: 3px;
  padding: .1em .4em;
  margin-right: .4em;
  font-size: .9rem;
  line-height: 1.1;
  white-space: nowrap;
}


.elvariazioni::before{ content: "Aggiornamenti:"; }
.elattuazione::before{ content: "Attuazione:"; }
.eltestodaa::before   { content: "Periodo testo:"; }


/* stile base condiviso */
.elvigenza,
.elvariazioni,
.eltestodaa {
  font-size: .96rem;
  padding: .15em .5em;
  border-radius: 4px;
    line-height: 1.2;
  }

  .elvariazioni {
  font-weight: bold;
  color: #B22222 !important;
     }

     .elvariazioni a:visited {
  color: #960018 !important;  
     }

     .elvariazioni a:visited {
  color: #960018 !important;  
     }

/* in linea solo questi due */
.elvigenza,
.eltestodaa,
.elvariazioni,
.elattuazione {
  display: inline-block;
  vertical-align: middle;
  margin-right: .5rem;   /* spazio tra loro */
}



/* Badge stato di vigenza */
.stato-vigenza{
  display: inline-block; font-weight: 700; font-size: .85em; line-height: 1;
  padding: .05em .4em; border-radius: 3px; border: 1px solid transparent; vertical-align: baseline;
}
.stato-vigenza.sv-vig   { color: #fff;       background: #05a332; }
.stato-vigenza.sv-abr   { color: #ffffff; background: #d32f2f; }
.stato-vigenza.sv-trans { color: #000000; background: #ffd400; }
.stato-vigenza.sv-mod   { color: #ffffff; background: #ff9800; }

/* Card “elgen” */
.contenuto-normativa .elgen{
  border-radius: 3px; margin: 22px 0; border-top: 0px solid #1f2937;
  padding: 0 16px 16px; 
  margin-left: 5rem;
  margin-right: 5rem;
}
/* Bordi crescenti dalla H6 alla H2 */
.contenuto-normativa .elgen.elgen-head-h6 { border-top-width: 2.5px; }
/* Gradient blu -> azzurrino in base al livello del primo heading in .eltesto */


.contenuto-normativa .elgen.elgen-head-h1 {
  padding-left: 2rem;
  padding-right: 2rem;
  margin-left: 1rem;
  margin-right: 1rem;
}

/* H2 */
.contenuto-normativa .elgen.elgen-head-h2 {
  padding-left: 0rem;
  padding-right: 0rem;
  margin-left: 5rem;
  margin-right: 5rem;
}

/* H3 */
.contenuto-normativa .elgen.elgen-head-h3 {
  padding-left: 2rem;
  padding-right: 2rem;
  margin-left: 5rem;
  margin-right: 5rem;
}

/* H4 */
.contenuto-normativa .elgen.elgen-head-h4 {
  padding-left: 2rem;
  padding-right: 2rem;
  margin-left: 5rem;
  margin-right: 5rem;
}

/* H5 */
.contenuto-normativa .elgen.elgen-head-h5 {
  padding-left: 2rem;
  padding-right: 2rem;
  margin-left: 5rem;
  margin-right: 5rem;
}

/* H6 */
.contenuto-normativa .elgen.elgen-head-h6 {
  padding-left: 0rem;
  padding-right: 0rem;
  margin-left: 5rem;
  margin-right: 5rem;
}


/* H1 */
.contenuto-normativa .elgen.elgen-head-h1 .eltitolo{
  color: white;
  background-color: #1a3163;
  }

/* H2 */
.contenuto-normativa .elgen.elgen-head-h2 .eltitolo{
  color: white;
  background-color: #344c7e;
  }



/* H6 */
.contenuto-normativa .elgen.elgen-head-h6 .eltitolo{
  background-color: #ffffff;
  color: #000;
  margin-right: 5rem;
  padding-left: 0;
  padding-right: 0;
}

.contenuto-normativa .elgen .eltitolo{
  display:block;
  padding:.4rem 1rem;
  border-radius:3px;
}

.contenuto-normativa .elgen .eltitolo > h1,
.contenuto-normativa .elgen .eltitolo > h2,
.contenuto-normativa .elgen .eltitolo > h3,
.contenuto-normativa .elgen .eltitolo > h4,
.contenuto-normativa .elgen .eltitolo > h5,
.contenuto-normativa .elgen .eltitolo > h6{
  margin:0 !important;
}


/* Riga info */
.single-norme .info-riga{
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; margin: .5em 0 1.25em;
}
.single-norme .info-riga .info-vigenza{ display: flex; align-items: center; gap: .5em; }

/* Pulsanti titolo-breve */
.single-norme .info-riga .titolo-breve,
.single-norme .info-riga .titolo-breve--esteso,
.single-norme .elgen-intestazione .titolo-breve,
.single-norme .elgen-intestazione .titolo-breve--esteso{
  display: inline-block; font-size: .9rem !important; font-weight: 600; line-height: 1.2;
  padding: 2px 8px !important; border-radius: 6px;
  border: 1px solid #8b0000 !important; background: #b22222 !important; color: #fff !important;
  text-decoration: none !important; transition: background .2s, border-color .2s, transform .06s;
  cursor: pointer;
}
.single-norme .info-riga .titolo-breve:hover,
.single-norme .info-riga .titolo-breve--esteso:hover,
.single-norme .elgen-intestazione .titolo-breve:hover,
.single-norme .elgen-intestazione .titolo-breve--esteso:hover,
.single-norme .info-riga .titolo-breve:focus,
.single-norme .info-riga .titolo-breve--esteso:focus,
.single-norme .elgen-intestazione .titolo-breve:focus,
.single-norme .elgen-intestazione .titolo-breve--esteso:focus{
  color: #fff !important; text-decoration: underline !important;
  background: #8b0000 !important; border-color: #6d0000 !important;
}

/* ===============================
   TESTI STORICI (viewer)
   =============================== */
.box-testistorici .controlli-visualizzazione{
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: .5rem;
  border-color: #0073aa !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  border-bottom: none !important;                /* unione con il pannello sotto */
  border-top-left-radius: 8px; border-top-right-radius: 8px;
  background: #f8fbff; z-index: 5;
}

.box-testistorici .visualizzazione-testistorici{
  display: block; padding: 1.2rem; margin-top: 0;
  border-color: #0073aa !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  border-top: none !important;                   /* unione con la barra sopra */
  border-radius: 0 0 8px 8px;
  background: #f8fbff; font-size: .99rem; line-height: 1.1; text-align: justify;
  scroll-margin-top: 80px;
  max-width: 100%; overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}

.visualizzazione-testistorici h4{ margin: 0 0 .5rem; font-size: 1rem; line-height: 1.3; }
.visualizzazione-testistorici p,
.visualizzazione-testistorici ul,
.visualizzazione-testistorici ol{ margin: .25rem 0 .75rem; }
.visualizzazione-testistorici ul,
.visualizzazione-testistorici ol{ padding-left: 1.25rem; }

/* ====== CONTROLLI UNIFORMATI A "TESTI STORICI" (#0073aa) ====== */
/* (include la barra in alto a destra .ctrl-right) */
.btn-testistorici,
.controlli-visualizzazione .vis-singola,
.controlli-visualizzazione .vis-affiancata,
.controlli-visualizzazione .prev,
.controlli-visualizzazione .next,
.ctrl-right .prev,
.ctrl-right .next,
.ctrl-right button,
.ctrl-right a,
.visualizzazione-testistorici .prev,
.visualizzazione-testistorici .next {
  background: #0073aa !important;
  color: #fff !important;
  border: 1px solid #005e91 !important;
  border-radius: 6px !important;
  font-size: 0.9rem !important;
  padding: .35rem .55rem !important;
  min-height: 2rem !important;
  min-width: 2rem !important;
  display: inline-block !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  background-image: none !important;
  cursor: pointer !important;
}
.btn-testistorici:hover,
.controlli-visualizzazione .vis-singola:hover,
.controlli-visualizzazione .vis-affiancata:hover,
.controlli-visualizzazione .prev:hover,
.controlli-visualizzazione .next:hover,
.ctrl-right .prev:hover,
.ctrl-right .next:hover,
.ctrl-right button:hover,
.ctrl-right a:hover,
.visualizzazione-testistorici .prev:hover,
.visualizzazione-testistorici .next:hover {
  background: #005e91 !important;
  border-color: #004d77 !important;
}
.controlli-visualizzazione .prev[disabled],
.controlli-visualizzazione .next[disabled],
.ctrl-right .prev[disabled],
.ctrl-right .next[disabled],
.ctrl-right button[disabled],
.ctrl-right a[aria-disabled="true"],
.visualizzazione-testistorici .prev[disabled],
.visualizzazione-testistorici .next[disabled]{
  opacity:.5 !important;
  cursor:not-allowed !important;
}



/* H6 nel contenuto normale della pagina norme */
body.single-norme .contenuto-normativa h6,
body.single-norme .entry-content h6,
body.single-norme .blocco-contenuto h6 {
  font-size: 14px !important;
  line-height: 1.3;
  }

body.single-norme .contenuto-normativa h5,
body.single-norme .entry-content h5,
body.single-norme .blocco-contenuto h5 {
  line-height: 1.2;
  }
  body.single-norme .contenuto-normativa h4,
body.single-norme .entry-content h4,
body.single-norme .blocco-contenuto h4 {
  line-height: 1.2;
  }
body.single-norme .contenuto-normativa h3,
body.single-norme .entry-content h3,
body.single-norme .blocco-contenuto h3 {
  line-height: 1.2;
  }

/* H6 nel contenuto normale della pagina norme */
body.single-norme .contenuto-normativa h2,
body.single-norme .entry-content h2,
body.single-norme .blocco-contenuto h2 {
   text-align: center;
}

/* H1 nel contenuto normale della pagina norme */
body.single-norme .contenuto-normativa h1,
body.single-norme .entry-content h1,
body.single-norme .blocco-contenuto h1 {
   text-align: center;
}

/* Eccezione: H6 dentro i “testi storici” */
body.single-norme .eltestistorici,
body.single-norme .visualizzazione-testistorici {
  font-size: 13px !important;
}

/* Eccezione: H6 dentro i “testi storici” */
body.single-norme .eltestistorici h6,
body.single-norme .visualizzazione-testistorici h6 {
  font-size: 13px !important;
}

/* H5 nel contenuto normale della pagina norme */
body.single-norme .contenuto-normativa h5,
body.single-norme .entry-content h5,
body.single-norme .blocco-contenuto h5 {
   text-align: center;
}

/* Badge "tipo modifica" nei testi storici */
.tipo-modifica{
  display: inline-block;
  font-weight: 700;
  font-size: .85em;
  line-height: 1;
  padding: .05em .4em;
  border-radius: 3px;
  border: 1px solid transparent;
  vertical-align: baseline;
}

/* Contenitore per badge composti (MOD+RET, ABR+TRANS, ABR.PROVV.+TRANS) */
.tipo-modifica.composto{
  display:inline-flex;
  align-items:center;
  gap:.25em;
  padding:0;
  border:0;
  background:transparent;
}

/* Colori pezzo TRANS (accoppiato ai rossi di ABR/babrgt) */
.tipo-modifica.btrans{
  color:#000;
  background:#ffd400;
  border-color:#e6c200;
}

/* Nuovo: Testo iniziale */
.tipo-modifica.btestoiniziale {
  color: #003366;
  background: #e6f0fa;
  border: 1px solid #c7def5;
  padding: 0 4px;
  border-radius: 3px;
  font-weight: 700;
}

/* Evidenzia "Versione n. X" nella riga meta */
.meta-versione {
  text-decoration: underline;
}

body.single-norme p.ind  { margin: 7px 0 0 15px !important; }
body.single-norme p.dind { margin: 6px 0 0 30px !important; }
body.single-norme p.tind { margin: 5px 0 0 60px !important; }
body.single-norme p.qind { margin: 4px 0 0 90px !important; }


/* Riga "Versione n. …": occhio a destra */
.meta-storico{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
}

/* Pulsante occhio */
.hs-toggle{
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  cursor:pointer;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.hs-toggle svg{ width:18px; height:18px; }
.hs-toggle:hover{ opacity:.85; }

/* Stato “pulito” per il SOLO testo della versione togglata */
.hs-clean .speli, .hs-clean .spelirv, .hs-clean .peli { display:none !important; }
.hs-clean .speli::before, .hs-clean .speli::after,
.hs-clean .spelirv::before, .hs-clean .spelirv::after,
.hs-clean .peli::before, .hs-clean .peli::after { content:none !important; }

.hs-clean .pagg, .hs-clean .spagg, .hs-clean .spdvf, .hs-clean .spaggrv,
.hs-clean .spsost, .hs-clean .bsdvf, .hs-clean .sprorog, .hs-clean .psost{
  color:revert !important;
  background:revert !important;
  text-decoration:revert !important;
  border:revert !important;
  outline:revert !important;
  box-shadow:revert !important;
  font-weight:revert !important;
  font-style:revert !important;
}
.hs-clean .pagg::before, .hs-clean .pagg::after,
.hs-clean .spagg::before, .hs-clean .spagg::after,
.hs-clean .spaggrv::before, .hs-clean .spaggrv::after,
.hs-clean .spdvf::before, .hs-clean .spdvf::after,
.hs-clean .spsost::before, .hs-clean .spsost::after,
.hs-clean .bsdvf::before, .hs-clean .bsdvf::after,
.hs-clean .sprorog::before, .hs-clean .sprorog::after,
.hs-clean .psost::before, .hs-clean .psost::after{ content:none !important; }



/* === Numerazione SOLO in .elvariazioni + tooltip condiviso (anche storico) === */

/* numerazione */
.elvariazioni { counter-reset: variazioni; }
.elvariazioni .var-item { counter-increment: variazioni; }

/* wrapper comune */
.elvariazioni .var-item,
.elstorico-tipomodifica .var-item{
  display:inline-block;
  position:relative;
  margin-right:.25em;
  vertical-align:baseline;
}

/* numerino (solo in elvariazioni) */
.elvariazioni .var-item::before{
  content: counter(variazioni) ".";
  font-weight:700;         /* grassetto */
    margin-right:.25em;
  line-height:1;
  padding-left:.4em;       /* spazio virtuale, NON copiabile */
}

/* --- FUMETTO (apre SOPRA) — condiviso --- */
.elvariazioni .var-item .var-tip,
.elstorico-tipomodifica .var-item .var-tip{
  position:absolute;
  left:0;
  bottom:calc(100% + 6px);
  background:#fff;
  color:#000;
  font-size:.85rem;
  line-height:1.4;
  padding:.4rem .6rem;
  border:1px solid #ccc;
  border-radius:4px;
  box-shadow:0 4px 10px rgba(0,0,0,.1);
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
  z-index:1000;

  display:inline-block;
  white-space:nowrap;      /* larghezza = testo reale */
  min-width:max-content;
  max-width:none;
}

/* mostra su hover/focus/tap — condiviso */
.elvariazioni .var-item:hover .var-tip,
.elvariazioni .var-item:focus-within .var-tip,
.elvariazioni .var-item.is-open .var-tip,
.elstorico-tipomodifica .var-item:hover .var-tip,
.elstorico-tipomodifica .var-item:focus-within .var-tip,
.elstorico-tipomodifica .var-item.is-open .var-tip{
  opacity:1;
  transform: translateY(-2px);
  display:block !important;    /* scavalca eventuale display:none inline */
  width:max-content;
  inline-size:max-content;
  max-width:none;
}

/* freccetta — condivisa */
.elvariazioni .var-item .var-tip::before,
.elstorico-tipomodifica .var-item .var-tip::before{
  content:"";
  position:absolute;
  bottom:-6px; left:10px;
  border:6px solid transparent;
  border-top-color:#fff;
}
.elvariazioni .var-item .var-tip::after,
.elstorico-tipomodifica .var-item .var-tip::after{
  content:"";
  position:absolute;
  bottom:-7px; left:10px;
  border:6px solid transparent;
  border-top-color:#ccc;
  z-index:-1;
}


/* FIX: mostra i tooltip nei testi storici */
.box-testistorici .visualizzazione-testistorici{
  overflow: visible;   /* era hidden → tagliava il fumetto */
  position: relative;  /* per sicurezza nello stacking */
  z-index: 1;
}


/***** TESTI STORICI — Gestione scroll corretta *****/

/* ================== SINGOLA ================== */
/* Pannello: scroll GENERALE */
html body.single-norme .box-testistorici > .visualizzazione-testistorici:has(> .layout-singola){
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: 70vh !important; /* oppure max-height:calc(100vh - 16px) */
}

/* Testo singola: nessuno scroll locale */
html body.single-norme .box-testistorici .layout-singola > .eltestostoricotesto{
  overflow: visible !important;
  max-height: none !important;
}


/* ================== AFFIANCATA ================== */
/* Pannello: niente scroll generale */
html body.single-norme .box-testistorici > .visualizzazione-testistorici:has(> div:first-child > div[style*="display:flex"]){
  overflow-y: hidden !important;
}

/* Colonne: scroll locale */
html body.single-norme .box-testistorici > .visualizzazione-testistorici
> div:first-child > div[style*="display:flex"] > div > .eltestostoricotesto{
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: calc(70vh - 4.5rem) !important; /* spazio visibile per il testo */
  -webkit-overflow-scrolling: touch;
}

/***** TESTI STORICI — BLOCCO SEMPLICE E STABILE *****/
:root{ --ts-controls-h: 52px; } /* altezza barra; regola se diversa */

/* 0) Spazio per cliccare il bottone “Testi storici” (abbassa il quadrante) */
.single-norme .box-testistorici{
  margin-top: 64px;                  /* prova 56–80px se serve */
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;                  /* lo scroll vero è nel pannello */
}

/* 1) Barra comandi: sempre visibile e sopra al contenuto della box */
.single-norme .box-testistorici > .controlli-visualizzazione{
  position: sticky;
  top: 0;
  z-index: 200;                      /* sopra a colonne e meta */
  background: #fff;
  box-shadow: 0 1px 0 #e7eff7, 0 2px 6px rgba(0,0,0,.06);
}

/* 2) Pannello: SCROLL GENERALE */
.single-norme .box-testistorici > .visualizzazione-testistorici{
  max-height: 70vh;                      /* se vuoi: max-height: calc(100vh - 16px) */
  overflow-y: auto;                  /* scrollbar generale */
  overflow-x: hidden;
  padding: 0 1.2rem 1.2rem;          /* niente “buco” sopra */
}

/* 3) Meta delle versioni: sticky dentro al pannello (sotto la barra) */
.single-norme .box-testistorici .meta-storico{
  position: sticky;
  top: 0;                            /* si attacca al top del pannello */
  z-index: 100;                      /* sotto la barra (200) */
  background: #f8fbff;
  padding: .2rem 0 .45rem;
  margin: 0 0 .25rem 0;
  box-shadow: 0 1px 0 #e7eff7, 0 2px 6px rgba(0,0,0,.06);
}

/* 4) AFFIANCATI — wrapper colonne (creato dal JS con display:flex inline) */
.single-norme .box-testistorici > .visualizzazione-testistorici
  > div:first-child > div[style*="display:flex"]{
  display: flex !important;
  gap: 1rem;
  align-items: stretch;
  min-height: 0;
  position: relative;
  z-index: 1;                        /* sotto la barra (200) */
}

/* 5) Ogni colonna: meta sopra, testo sotto */
.single-norme .box-testistorici > .visualizzazione-testistorici
  > div:first-child > div[style*="display:flex"] > div{
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  background: #f8fbff;
}

/* 6) Testo della colonna: SCROLL PER COLONNA (oltre allo scroll generale del pannello) */
.single-norme .box-testistorici > .visualizzazione-testistorici
  > div:first-child > div[style*="display:flex"] > div > .eltestostoricotesto{
  flex: 1 1 auto;
  min-height: 0;
  /* finestra visibile della colonna: pannello - (altezza media meta ~2.2rem) */
  max-height: calc(70vh - 2.2rem);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-top: .35rem;
}

/* 7) Pulsante “Testi storici” sempre cliccabile (sopra la box) */
.pulsante-testistorici,
.btn-testistorici,
button[data-azione="testistorici"]{
  position: relative;
  z-index: 9999;                     /* sopra a barra/meta/box */
  pointer-events: auto;
}


/* ===============================
   SOLUZIONE DEFINITIVA
   =============================== */

/* 1) Indice: rimuove la sottolineatura automatica dei link */
body.single-norme .indice-testo a,
body.single-norme .indice-testo a:visited,
body.single-norme .indice-testo a:hover,
body.single-norme .indice-testo a:focus {
  text-decoration: none;
  border-bottom: 0;
}

/* 2) Indice: reimposta solo le sottolineature "volute" */

body.single-norme .indice-testo li.livello-h1 > a {
  text-decoration:underline;
  margin-top: 10px;
  }
body.single-norme .indice-testo li.livello-h2 > a {
  text-decoration: none;
  }
body.single-norme .indice-testo li.livello-h4 > a {
  text-decoration: underline;
}

/* 3) Indice: piccolo rientro per gli H6 */
body.single-norme .indice-testo li.livello-h6 {
  padding-left: 0.75rem;
}

/* 4) Titoletti copiabili: mai sottolineati */
body.single-norme .copy-linkable,
body.single-norme .copy-linkable:hover,
body.single-norme .copy-linkable:focus {
  text-decoration: none !important;
  border-bottom: 0 !important;
}

/* 5) Link dentro agli heading del testo: mai sottolineati */
body.single-norme .contenuto-normativa h1 a,
body.single-norme .contenuto-normativa h2 a,
body.single-norme .contenuto-normativa h3 a,
body.single-norme .contenuto-normativa h4 a,
body.single-norme .contenuto-normativa h5 a,
body.single-norme .contenuto-normativa h6 a,
body.single-norme .contenuto-normativa h1 a:hover,
body.single-norme .contenuto-normativa h2 a:hover,
body.single-norme .contenuto-normativa h3 a:hover,
body.single-norme .contenuto-normativa h4 a:hover,
body.single-norme .contenuto-normativa h5 a:hover,
body.single-norme .contenuto-normativa h6 a:hover {
  text-decoration: none;
  border-bottom: 0;
}


/* Evidenzia in arancione intero articolo se "Solo modificante" */
.contenuto-normativa .elgen:has(.elvigenza .stato-vigenza.sv-mod) {
  background-color: #fff4e0; /* arancione chiaro */
}

/* Evita che la scrollbar copra il testo nei testi storici */
.eltestostoricotesto {
  padding-right: 20px; /* margine interno a destra */
  box-sizing: border-box;
}


/* Default grigio per i testi storici */
.eltestostorico.bg-grigio {
  background: #f3f4f6;
}

/* Eccezione: se data contiene "oggi" */
.eltestostorico.bg-oggibianco {
  background: #ffffff;
}


.visualizzazione-testistorici .versione{ border-radius:6px; padding:.5rem .75rem; }
.visualizzazione-testistorici .versione.bg-grigio{ background:#f3f4f6; }
.visualizzazione-testistorici .versione.bg-oggibianco{ background:#fff; }


/* === TOOLTIP VIA data-tip (nuovi inserimenti) ========================= */

/* Base: il badge fa da ancoraggio */
.elvariazioni .var-item .tipo-modifica[data-tip],
.elstorico-tipomodifica .var-item .tipo-modifica[data-tip]{
  position: relative;
}


/* Fumetto (stesso stile dei .var-tip storici) */
.elvariazioni .var-item .tipo-modifica[data-tip]::after,
.elstorico-tipomodifica .var-item .tipo-modifica[data-tip]::after{
  content: attr(data-tip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 6px);
  background: #fff;
  color: #000;
  font-size: .85rem;
  line-height: 1.4;
  padding: .4rem .6rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(0,0,0,.1);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
  z-index: 1000;

  display: inline-block;
  white-space: nowrap;
  min-width: max-content;
  max-width: none;

  transform: translateY(0); /* verrà animato su hover */
}

/* Freccetta */
.elvariazioni .var-item .tipo-modifica[data-tip]::before,
.elstorico-tipomodifica .var-item .tipo-modifica[data-tip]::before{
  content: "";
  position: absolute;
  bottom: 100%;
  left: 10px;
  border: 6px solid transparent;
  border-top-color: #fff;
  opacity: 0;
  transition: opacity .15s ease;
  z-index: 1000;
}

/* Mostra su hover/focus (stesse condizioni dei .var-tip storici) */
.elvariazioni .var-item:hover .tipo-modifica[data-tip]::after,
.elvariazioni .var-item:focus-within .tipo-modifica[data-tip]::after,
.elvariazioni .var-item.is-open .tipo-modifica[data-tip]::after,
.elstorico-tipomodifica .var-item:hover .tipo-modifica[data-tip]::after,
.elstorico-tipomodifica .var-item:focus-within .tipo-modifica[data-tip]::after,
.elstorico-tipomodifica .var-item.is-open .tipo-modifica[data-tip]::after{
  opacity: 1;
  transform: translateY(-2px);
}

.elvariazioni .var-item:hover .tipo-modifica[data-tip]::before,
.elvariazioni .var-item:focus-within .tipo-modifica[data-tip]::before,
.elvariazioni .var-item.is-open .tipo-modifica[data-tip]::before,
.elstorico-tipomodifica .var-item:hover .tipo-modifica[data-tip]::before,
.elstorico-tipomodifica .var-item:focus-within .tipo-modifica[data-tip]::before,
.elstorico-tipomodifica .var-item.is-open .tipo-modifica[data-tip]::before{
  opacity: 1;
}


.elvigenza::before {
  content: "Vigenza:";
  font-weight: 600;
  margin-right: .25rem;
}

/* Lo spazio è deciso dal blocco SUCCESSIVO */
.contenuto-normativa .elgen.elgen-head-h2 { margin-top: 44px !important; }
.contenuto-normativa .elgen.elgen-head-h3 { margin-top: 32px !important; }
.contenuto-normativa .elgen.elgen-head-h4 { margin-top: 28px !important; }
.contenuto-normativa .elgen.elgen-head-h5 { margin-top: 22px !important; }
.contenuto-normativa .elgen.elgen-head-h6 { margin-top: 18px !important; }

/* Gerarchia minima H1–H5 nelle norme
   (H6 resta come da tema/front-end attuale: 15px) */

body.single-norme .contenuto-normativa h1,
body.single-norme .entry-content h1,
body.single-norme .blocco-contenuto h1 {
  font-size: 16px;
}

body.single-norme .contenuto-normativa h2,
body.single-norme .entry-content h2,
body.single-norme .blocco-contenuto h2 {
  font-size: 16px;
}

body.single-norme .contenuto-normativa h3,
body.single-norme .entry-content h3,
body.single-norme .blocco-contenuto h3 {
  font-size: 15px;
}

body.single-norme .contenuto-normativa h4,
body.single-norme .entry-content h4,
body.single-norme .blocco-contenuto h4 {
  font-size: 14px;
}

body.single-norme .contenuto-normativa h5,
body.single-norme .entry-content h5,
body.single-norme .blocco-contenuto h5 {
  font-size: 14px;
}

/* h6 NON si tocca: resta a 15px come sopra */

.eltestostoricotesto p {
    font-size: 0.9em; /* più piccolo del testo normale */
}

.blocco-contenuto span.bianco  {background-color: white;}



/* sostituisci la tua regola con questa */
:target { position: relative; }

:target::before{
  content:"";
  position:absolute;     /* chiave */
  left:0; right:0;
  top:0;
  height:70px;
  transform: translateY(-70px);
  pointer-events:none;
}
/* ===============================
   H3–H5: pillola centrale con rientri progressivi
   =============================== */

/* H3 — rientro MINORE */
.contenuto-normativa .elgen.elgen-head-h3 .eltitolo{
  background: #fff;
  padding: .35rem 6rem;
  border-radius: 3px;
  text-align: center;
}
.contenuto-normativa .elgen.elgen-head-h3 .eltitolo > h3{
  display: inline-block;
  background: #4e7393;
  color: #fff;
  padding: .25rem .8rem;
  border-radius: 3px;
  margin: 0 !important;
  line-height: 1.45;
}

/* H4 — rientro INTERMEDIO */
.contenuto-normativa .elgen.elgen-head-h4 .eltitolo{
  background: #fff;
  padding: .35rem 7.5rem;
  border-radius: 3px;
  text-align: center;
}
.contenuto-normativa .elgen.elgen-head-h4 .eltitolo > h4{
  display: inline-block;
  background: #85abc0;
  color: #fff;
  padding: .25rem .8rem;
  border-radius: 3px;
  margin: 0 !important;
  line-height: 1.45;
}

/* H5 — rientro MAGGIORE */
.contenuto-normativa .elgen.elgen-head-h5 .eltitolo{
  background: #fff;
  padding: .35rem 9rem;
  border-radius: 3px;
  text-align: center;
}
.contenuto-normativa .elgen.elgen-head-h5 .eltitolo > h5{
  display: inline-block;
  background: #96b1b8;
  color: #fff;
  padding: .25rem .8rem;
  border-radius: 3px;
  margin: 0 !important;
  line-height: 1.45;
}

span.dlconv 
{
  background-color: yellow
  }


  .fb-dl-note{
  font-size:80%;
  letter-spacing:-0.01em;
  color:#6b7280;
  white-space:nowrap;
}

body.single-norme .fb-dl-note{
  font-size:80% !important;
  letter-spacing:-0.01em;
  color:#6b7280 !important;
  white-space:nowrap;
}

body.single-norme .fb-dl-confr{
  font-size:80% !important;
  letter-spacing:-0.01em;
  color:#f97316 !important;   /* arancione */
  white-space:nowrap;
}
