/* liec-inline.css - generato il 2026-10-07 dai due blocchi <style> statici di
 * single.php (righe 52-627: base del template; righe 748-894: UI V2 metabar/indice).
 * Stesso contenuto, stesso ordine. Caricato da single.php nello stesso punto in cui
 * stava il primo blocco, quindi la cascata non cambia. Modifiche: qui, non nel PHP. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --gold: #c4943a; --gold-light: #d4a84a;
  --navy: #1a2744; --navy-deep: #0d1a35;
  --ink: #1c1c1e; --ink-soft: #4a4a52;
  --bg: #fdfcf9; --border: #e8e3da;
}
html { scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif; background: var(--bg); color: var(--ink);
  -webkit-font-smoothing: antialiased; max-width: none !important; padding: 0 !important; margin: 0 !important;
}


/* LIEC mobile header fix - niente backdrop-filter (lento) + opacità piena (anti-flicker TOC) 2026-05-17 */
@media (max-width: 768px), (hover: none) and (pointer: coarse) {
  nav, .dropdown-content, header, .header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body > nav { background: rgb(13,26,53) !important; }
  .dropdown-content { background: rgb(13,26,53) !important; }
}

/* NAV */
/* NAV header — scoped body>nav: il selettore nudo catturava ogni <nav> nel contenuto (bug hubsl /ccnl/ + TOC 17/5). Fix 11/7/2026 */
body > nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(13,26,53,1); backdrop-filter: blur(12px); height: 66px;
  padding: 0 clamp(1rem,4vw,3rem);
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid rgba(196,148,58,0.18);
}
.logo { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.logo-icon { width: 44px; height: 44px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.logo-name { font-family: 'Lora', serif; font-size: 15px; font-weight: 700; color: #fff; letter-spacing: 0.01em; line-height: 1.2; }
.logo-sub { font-size: 10px; color: rgba(255,255,255,0.35); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 1px; }
.nav-links { display: flex; gap: 1.2rem; list-style: none; align-items: center; }
.nav-links a { text-decoration: none; color: rgba(255,255,255,0.65); font-size: 12px; font-weight: 500; letter-spacing: 0.03em; transition: color 0.2s; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: var(--gold); }
.nav-links a.active { border-bottom: 1px solid var(--gold); padding-bottom: 1px; }
.nav-sep { width: 1px; height: 18px; background: rgba(255,255,255,0.12); flex-shrink: 0; }
.nav-spotlight-btn {
  display: flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius: 100px; padding: 7px 14px; color: rgba(255,255,255,0.55);
  font-size: 12px; font-family: 'DM Sans', sans-serif;
  cursor: pointer; transition: all 0.2s; white-space: nowrap;
}
.nav-spotlight-btn:hover { background: rgba(255,255,255,0.13); border-color: rgba(196,148,58,0.4); color: rgba(255,255,255,0.9); }
.nav-spotlight-btn kbd {
  font-family: inherit; font-size: 10px; background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15); border-radius: 4px;
  padding: 1px 5px; color: rgba(255,255,255,0.32); margin-left: 2px;
}
@media (max-width: 640px) { .nav-spotlight-btn span { display: none; } .nav-spotlight-btn kbd { display: none; } }

/* DROPDOWN NAV */
.nav-dd { position: relative; }
.nav-dd-btn {
  background: none; border: none; padding: 0; cursor: pointer; font-family: inherit;
  color: rgba(255,255,255,0.65); font-size: 12px; font-weight: 500; letter-spacing: 0.03em;
  display: inline-flex; align-items: center; gap: 4px; transition: color 0.2s; white-space: nowrap;
}
.nav-dd-btn:hover, .nav-dd:focus-within .nav-dd-btn, .nav-dd-btn.active { color: var(--gold); }
.nav-dd-arrow { transition: transform 0.2s; opacity: 0.7; }
.nav-dd:hover .nav-dd-arrow, .nav-dd:focus-within .nav-dd-arrow { transform: rotate(180deg); opacity: 1; }
.nav-dd-menu {
  position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(-6px);
  background: rgba(13,26,53,1); backdrop-filter: blur(14px);
  border: 1px solid rgba(196,148,58,0.22); border-radius: 10px;
  min-width: 280px; padding: 8px 0;
  opacity: 0; visibility: hidden; transition: opacity 0.18s, transform 0.18s, visibility 0s linear 0.18s;
  box-shadow: 0 14px 40px rgba(0,0,0,0.4); z-index: 200;
}
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu {
  opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); transition-delay: 0s;
}
.nav-dd-menu a {
  display: block; padding: 10px 18px; font-size: 13px;
  color: rgba(255,255,255,0.78); text-decoration: none; white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}
.nav-dd-menu a:hover, .nav-dd-menu a.active { color: var(--gold); background: rgba(196,148,58,0.08); }
.nav-cta { color: var(--gold) !important; border: 1px solid rgba(196,148,58,0.45); padding: 6px 16px; border-radius: 100px; transition: background 0.2s, color 0.2s !important; }
.nav-cta:hover { background: var(--gold) !important; color: #fff !important; }
.nav-cta-lavoro {
  background: #2d7a8c !important; color: #fff !important;
  border-color: #2d7a8c !important; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; font-size: 11.5px;
}
.nav-cta-lavoro:hover { background: #1f5e6e !important; color: #fff !important; border-color: #1f5e6e !important; }
.nav-cta-normative {
  background: #8a2e3b !important; color: #fff !important;
  border-color: #8a2e3b !important; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; font-size: 11.5px;
}
.nav-cta-normative:hover { background: #6f2530 !important; color: #fff !important; border-color: #6f2530 !important; }
.nav-cta-strumenti {
  background: #2f8f63 !important; color: #fff !important;
  border-color: #2f8f63 !important; font-weight: 700;
  letter-spacing: .05em; text-transform: uppercase; font-size: 11.5px;
}
.nav-cta-strumenti:hover { background: #25714d !important; color: #fff !important; border-color: #25714d !important; }
.nav-links.nav-section { gap:1.6rem; }
.nav-links.nav-section a { color:rgba(255,255,255,.82) !important; font-size:13.5px; font-weight:500; padding:6px 2px !important; border:none !important; background:none !important; border-radius:0 !important; letter-spacing:0 !important; text-transform:none !important; transition:color .18s; }
.nav-links.nav-section a:hover { background:none !important; }
.nav-links.nav-pillar-lavoro a:hover { color:#5fb3c5 !important; }
.nav-links.nav-pillar-strumenti a:hover { color:#7fd0a0 !important; }
.nav-links.nav-section .nav-back { color:rgba(255,255,255,.5) !important; font-size:12.5px; font-weight:500; border:none !important; background:none !important; }
.nav-links.nav-section .nav-back:hover { color:#fff !important; background:none !important; }
@media (max-width:760px){ .nav-links.nav-section{display:none;} }
@media (max-width: 768px) {
  .nav-dd-menu { left: 0; transform: translateX(0) translateY(-6px); min-width: 240px; }
  .nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu { transform: translateX(0); }
}

/* INTESTAZIONE ARTICOLO */
.article-hero {
  background: var(--navy); padding: 110px clamp(1.5rem,5vw,4rem) 50px;
  border-bottom: 1px solid rgba(196,148,58,0.12);
}
.article-hero-inner { max-width: 860px; margin: 0 auto; }
.breadcrumb { font-size: 12px; color: rgba(255,255,255,0.35); margin-bottom: 1.4rem; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.breadcrumb a { color: rgba(255,255,255,0.35); text-decoration: none; transition: color 0.2s; }
.breadcrumb a:hover { color: var(--gold); }
.breadcrumb-sep { opacity: 0.4; }
.article-ref { font-size: 11px; font-weight: 500; letter-spacing: 0.13em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.6rem; }
.article-title { font-family: 'Lora', serif; font-size: clamp(1.9rem,4vw,3rem); font-weight: 700; color: #fff; line-height: 1.15; letter-spacing: -0.02em; }

/* CONTENUTO */
.article-body { max-width: 860px; margin: 0 auto; padding: clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem); }
.article-content {
  font-size: 1.05rem; line-height: 1.85; color: var(--ink);
}
.article-content p { margin-bottom: 1.3em; }
.article-content h2, .article-content h3, .article-content h4 {
  font-family: 'Lora', serif; font-weight: 700; color: var(--navy);
  margin: 2em 0 0.7em; line-height: 1.3;
}
.article-content h2 { font-size: 1.5rem; }
.article-content h3 { font-size: 1.2rem; }
/* A11y 2026-06-13: ripetizione del titolo declassata da heading a caption (elimina
   il salto di livello nell'outline). Replica le metriche UA del vecchio heading
   (font-size .83em, margin 1.67em) cosi' l'aspetto resta invariato. */
.article-content p.liec-art-citation { font-size: 0.83em; margin: 1.67em 0; }
.article-content ul, .article-content ol { padding-left: 1.6em; margin: 0 0 1.5em 0.2em; }
.article-content li { margin-bottom: 0.5em; padding-left: 0.25em; }
.article-content ul > li::marker { color: var(--gold); }
.article-content ol > li::marker { color: var(--gold); font-weight: 600; }

/* BOX CASI PRATICI */
.liec-practical-box {
  background: #fafaf7;
  border: 1px solid #e8e6df;
  border-left: 3px solid var(--gold);
  border-radius: 0 8px 8px 0;
  padding: 1.2rem 1.5rem 1.2rem 1.4rem;
  margin: 1.8em 0;
}
.liec-practical-box > h3 {
  font-family: 'Lora', serif;
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 0.8rem 0 !important;
  line-height: 1.3;
}
.liec-practical-box > ul, .liec-practical-box > ol {
  margin: 0;
  padding-left: 1.3em;
}
.liec-practical-box li {
  margin-bottom: 0.45em;
  padding-left: 0.2em;
  line-height: 1.65;
  color: var(--ink);
}
.liec-practical-box li:last-child { margin-bottom: 0; }
.liec-practical-box li::marker { color: var(--gold); }

.article-content blockquote {
  border-left: 3px solid var(--gold); padding: 1rem 1.5rem;
  margin: 1.5em 0; background: rgba(196,148,58,0.05); border-radius: 0 8px 8px 0;
  font-style: italic; color: var(--ink-soft);
}
.article-content a { color: var(--gold); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-content strong { font-weight: 600; color: var(--navy); }

/* SEPARATORE */
.article-divider { height: 1px; background: var(--border); margin: 3rem 0; }

/* NAV ARTICOLI PREV/NEXT */
.article-nav {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem;
}
.article-nav-link {
  display: block; padding: 1.2rem 1.5rem; border: 1px solid var(--border); border-radius: 10px;
  text-decoration: none; transition: border-color 0.2s, background 0.2s;
}
.article-nav-link:hover { border-color: rgba(196,148,58,0.4); background: rgba(196,148,58,0.03); }
.article-nav-link.prev { text-align: left; }
.article-nav-link.next { text-align: right; }
.nav-dir { font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.4rem; }
.nav-title { font-size: 14px; font-weight: 500; color: var(--navy); line-height: 1.35; }

/* BOTTONE TORNA */
.back-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 500; color: var(--ink-soft);
  text-decoration: none; margin-bottom: 2.5rem; padding: 8px 0;
  border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s;
}
.back-link:hover { color: var(--gold); border-color: rgba(196,148,58,0.3); }

/* FOOTER */
footer { background: var(--navy-deep, #0d1a35); border-top: 1px solid rgba(196,148,58,0.1); padding: 3rem clamp(1.5rem,5vw,4rem) 2rem; }
.footer-inner { max-width: 1300px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 2rem; }
.footer-brand { font-family: 'Lora', serif; font-size: 1rem; font-weight: 700; color: #fff; }
.footer-sub { font-size: 10px; color: rgba(255,255,255,0.28); letter-spacing: 0.08em; text-transform: uppercase; margin-top: 3px; }
.footer-links { display: flex; gap: 2rem; flex-wrap: wrap; }
.footer-links a { font-size: 13px; color: rgba(255,255,255,0.4); text-decoration: none; transition: color 0.2s; }
.footer-links a:hover { color: var(--gold); }
.footer-copy { max-width: 1300px; margin: 1.5rem auto 0; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 1.2rem; font-size: 11px; color: rgba(255,255,255,0.18); }

/* ARTICOLI CORRELATI */
.related-articles { margin-top: 3rem; }
.related-title { font-family: 'Lora', serif; font-size: 1.2rem; font-weight: 700; color: var(--navy); margin-bottom: 1.2rem; }
.related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.75rem; }
.related-card {
  display: block; padding: 1rem 1.2rem; border: 1px solid var(--border); border-radius: 8px;
  text-decoration: none; transition: border-color 0.2s, background 0.2s;
}
.related-card:hover { border-color: rgba(196,148,58,0.4); background: rgba(196,148,58,0.03); }
.related-card-label { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.3rem; }
.related-card-title { font-size: 13px; font-weight: 500; color: var(--navy); line-height: 1.4; }

/* BOTTONE STAMPA */
.print-btn {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 1.5rem;
  padding: 8px 16px; border: 1px solid var(--border); border-radius: 6px;
  font-size: 12px; font-weight: 500; color: var(--ink-soft); cursor: pointer;
  background: none; transition: all 0.2s; font-family: 'DM Sans', sans-serif;
}
.print-btn:hover { border-color: rgba(196,148,58,0.4); color: var(--gold); }

@media (max-width: 640px) {
  .nav-links { display: none; }
  .nav-spotlight-btn { min-width: 36px; padding: 7px 10px; }
  .article-nav { grid-template-columns: 1fr; }
  .article-nav-link.next { text-align: left; }
  .related-grid { grid-template-columns: 1fr 1fr; }
}

/* COMMENTARIO EDITORIALE */
.liec-commentary { margin-top: 3rem; }
.liec-section { margin-bottom: 2.5rem; }
.liec-section h2 {
  font-family: 'Lora', serif; font-size: 1.35rem; font-weight: 700;
  color: var(--navy); border-bottom: 2px solid var(--gold);
  padding-bottom: 0.5rem; margin-bottom: 1.2rem;
}
.liec-sintesi ul { padding-left: 1.4em; }
.liec-sintesi li { margin-bottom: 0.5em; font-size: 1rem; line-height: 1.7; color: var(--ink); }
.liec-commento h3 {
  font-family: 'Lora', serif; font-size: 1.15rem; font-weight: 700;
  color: var(--navy); margin: 2em 0 0.4em; line-height: 1.3;
}
.liec-commento h4 {
  font-family: 'DM Sans', sans-serif; font-size: 0.95rem; font-weight: 600;
  color: var(--ink); letter-spacing: 0.02em; text-transform: uppercase;
  margin: 1.8em 0 0.5em; border-left: 3px solid var(--gold); padding-left: 0.6em; line-height: 1.3;
}
.liec-commento p { margin-bottom: 1.2em; line-height: 1.85; }
.massima {
  border: 1px solid var(--border); border-radius: 8px;
  padding: 1.2rem 1.4rem; margin-bottom: 1.2rem;
  background: rgba(196,148,58,0.02);
}
.massima h3 {
  font-size: 0.88rem; font-weight: 600; color: var(--navy);
  margin-bottom: 0.7rem; letter-spacing: 0.02em;
}
.massima blockquote {
  border-left: 3px solid var(--gold); padding: 0.8rem 1.2rem;
  margin: 0 0 0.8rem; background: rgba(196,148,58,0.04);
  border-radius: 0 6px 6px 0; font-style: italic;
  color: var(--ink-soft); font-size: 0.95rem; line-height: 1.7;
}
.rilievo { font-size: 0.88rem; color: var(--ink-soft); margin: 0; }
.massima-fonte { font-size: 0.82rem; margin: 0.4rem 0 0; }
.corte-cost-item, .prassi-item {
  padding: 0.9rem 1.1rem; border: 1px solid var(--border);
  border-radius: 6px; margin-bottom: 0.9rem; background: #fff;
}
.corte-cost-item p, .prassi-item p { margin: 0.4rem 0 0; font-size: 0.9rem; }
.caso-pratico {
  padding: 1.1rem 1.3rem; background: #f8f6f1;
  border-radius: 8px; margin-bottom: 1.1rem;
}
.caso-pratico h3 { font-size: 1rem; font-weight: 600; color: var(--navy); margin-bottom: 0.5rem; }
.caso-pratico p { margin-bottom: 0.5em; font-size: 0.95rem; line-height: 1.7; }
.caso-cit { font-size: 0.85rem; color: var(--ink-soft); }
.faq-item { border-bottom: 1px solid var(--border); padding: 1rem 0; }
.faq-item:last-child { border-bottom: none; }
.faq-item h3 { font-size: 1rem; font-weight: 600; color: var(--navy); margin-bottom: 0.4rem; }
.faq-item p { font-size: 0.95rem; line-height: 1.7; margin: 0; }
/* TABLE OF CONTENTS v3 (2026-05-17) - <details> collapsed + <aside> (no <nav>, no overlay) */
.liec-toc-details {
  background: rgba(196,148,58,0.04);
  border: 1px solid rgba(196,148,58,0.18);
  border-radius: 8px;
  margin: 0 0 1.8rem;
  overflow: hidden;
}
.liec-toc-summary {
  cursor: pointer;
  list-style: none;
  padding: 0.8rem 1.4rem;
  font-family: 'Lora', serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  user-select: none;
  position: relative;
  padding-right: 2.6rem;
}
.liec-toc-summary::-webkit-details-marker { display: none; }
.liec-toc-summary::after {
  content: "\25BE";
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s;
  font-size: 0.9rem;
  color: var(--gold);
  opacity: 0.75;
}
.liec-toc-details[open] .liec-toc-summary { border-bottom: 1px solid rgba(196,148,58,0.18); }
.liec-toc-details[open] .liec-toc-summary::after { transform: translateY(-50%) rotate(180deg); }
aside.liec-toc, .liec-toc {
  display: block;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0.9rem 1.4rem;
  margin: 0;
  max-height: 320px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(196,148,58,0.4) transparent;
  position: static !important;
  top: auto !important;
  z-index: auto !important;
}
aside.liec-toc::-webkit-scrollbar, .liec-toc::-webkit-scrollbar { width: 6px; }
aside.liec-toc::-webkit-scrollbar-thumb, .liec-toc::-webkit-scrollbar-thumb { background: rgba(196,148,58,0.4); border-radius: 3px; }
.liec-toc ol { list-style: none; padding-left: 0; margin: 0; counter-reset: liec-toc-c; }
.liec-toc li { line-height: 1.45; color: var(--ink-soft); }
.liec-toc ol > li {
  counter-increment: liec-toc-c;
  padding-left: 1.6em;
  position: relative;
  margin: 0.35em 0;
}
.liec-toc ol > li::before {
  content: counter(liec-toc-c) ".";
  position: absolute;
  left: 0;
  color: var(--gold, #c4943a);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  width: 1.4em;
}
.liec-toc li.liec-toc-h3 { padding-left: 2.4em; font-size: 0.85rem; }
.liec-toc li.liec-toc-h3::before { left: 0.8em; opacity: 0.65; }
.liec-toc a { color: var(--navy); text-decoration: none; transition: color 0.15s; }
.liec-toc a:hover, .liec-toc a.toc-active { color: var(--gold); }
.liec-toc a.toc-active { font-weight: 600; }
@media (max-width: 768px) {
  aside.liec-toc, .liec-toc { max-height: 240px; font-size: 0.88rem; }
  .liec-toc-summary { font-size: 0.72rem; padding: 0.75rem 1.2rem; padding-right: 2.4rem; }
}


.liec-schema { border: 1px solid var(--border); padding: 1em; margin: 1em 0; background: #fafafa; border-radius: 6px; overflow-x: auto; }
.liec-schema-box { border: 1px solid #999; padding: .4em .8em; margin: .2em; display: inline-block; min-width: 110px; border-radius: 4px; font-size: 0.88rem; }
.liec-schema-arrow { margin: 0 .5em; color: var(--gold); font-weight: 700; }
.meta-articolo {
  margin-top: 2rem; padding: 1rem 1.2rem; background: #f8f6f1;
  border-radius: 6px; font-size: 0.82rem; color: var(--ink-soft); line-height: 1.7;
}
.meta-articolo strong { color: var(--navy); }

/* BYLINE AUTORE */
.article-byline { font-size: 13px; color: rgba(28,28,30,0.6); margin: 0.8rem 0 0 0; font-family: 'DM Sans', sans-serif; }
.article-byline a { color: #a07d2d; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s; } /* WCAG AA su --bg */
.article-byline a:hover { border-bottom-color: #a07d2d; }
.article-hero .article-byline { color: #dce2ed; }
.article-hero .article-byline a { color: #e0b35d; }
.article-hero .article-byline a:hover { border-bottom-color: #e0b35d; }

/* ============================================================================
   TABELLE E COMPONENTI DEL CONTENUTO — 2026-09-12
   Fino a oggi il foglio di stile non conteneva la parola «table»: tutte le
   tabelle dell'archivio uscivano col rendering di default del browser (bordi
   incisi, testo centrato, celle da un pixel). Qui vengono vestite una volta
   sola per tutto il sito, senza toccare un solo articolo.
   I cinque componenti sotto sono invece classi da usare in scrittura.
   ========================================================================= */

/* --- TABELLE ------------------------------------------------------------ */
.article-content table,
.liec-commentary table,
.liec-practical-box table {
  border-collapse: collapse;
  width: 100%;
  margin: 2em 0;
  font-size: 0.95rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.article-content table caption,
.liec-commentary table caption {
  caption-side: top;
  text-align: left;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #a07d2d;
  font-weight: 700;
  padding: 0 0 0.55rem;
}
.article-content th,
.liec-commentary th,
.liec-practical-box th {
  background: var(--navy);
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: left;
  padding: 0.75rem 0.95rem;
  vertical-align: bottom;
  line-height: 1.35;
}
.article-content thead th + th,
.liec-commentary thead th + th { border-left: 1px solid rgba(255,255,255,0.12); }
.article-content td,
.liec-commentary td,
.liec-practical-box td {
  padding: 0.72rem 0.95rem;
  border-top: 1px solid var(--border);
  vertical-align: top;
  color: var(--ink-soft);
}
.article-content tbody tr:nth-child(even) td,
.liec-commentary tbody tr:nth-child(even) td { background: rgba(196,148,58,0.05); }
.article-content tbody tr:hover td,
.liec-commentary tbody tr:hover td { background: rgba(196,148,58,0.11); }
.article-content tbody td:first-child,
.liec-commentary tbody td:first-child { color: var(--ink); font-weight: 500; }
.article-content td strong,
.liec-commentary td strong { color: var(--navy); font-weight: 700; }
/* tabelle senza intestazione: la prima colonna fa da etichetta */
.article-content table:not(:has(thead)) td:first-child { font-weight: 600; color: var(--navy); }

/* Sotto i 720px la tabella scorre dentro se stessa: senza questo e' la pagina
   intera a scivolare di lato, ed e' il difetto piu' fastidioso da telefono. */
@media (max-width: 720px) {
  .article-content table,
  .liec-commentary table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
  .article-content table td,
  .liec-commentary table td { white-space: normal; min-width: 9rem; }
}

/* --- DATO CHIAVE: il confronto che deve saltare all'occhio -------------- */
.liec-dato {
  display: grid;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  margin: 2.2em 0;
}
@media (min-width: 540px) { .liec-dato { grid-template-columns: 1fr 1fr; } }
.liec-dato > div { background: #fff; padding: 1.25rem 1.35rem; }
.liec-dato .et {
  font-family: 'DM Sans', sans-serif; font-size: 0.68rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: #6f7484; font-weight: 700; margin-bottom: 0.45rem;
}
.liec-dato .n {
  font-family: 'Lora', Georgia, serif; font-size: 1.85rem; line-height: 1.05;
  color: var(--navy); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -0.01em;
}
.liec-dato .sub { font-size: 0.83rem; color: #6f7484; margin-top: 0.35rem; line-height: 1.45; }
.liec-dato > div.vinta { background: #faf6ed; }
.liec-dato > div.vinta .n { color: #8a6420; }

/* --- AVVERTENZA: la trappola -------------------------------------------- */
.liec-avvertenza {
  background: #fdf4f2; border: 1px solid rgba(156,59,46,0.28);
  border-left: 3px solid #9c3b2e; border-radius: 0 8px 8px 0;
  padding: 1.15rem 1.4rem; margin: 2em 0;
}
.liec-avvertenza .h {
  font-family: 'DM Sans', sans-serif; font-size: 0.68rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: #9c3b2e; font-weight: 700; margin-bottom: 0.5rem;
}
.liec-avvertenza p { margin: 0; font-size: 0.97rem; line-height: 1.65; }
.liec-avvertenza p + p { margin-top: 0.7rem; }
.liec-avvertenza strong { color: #7d2f24; }

/* --- CHECKLIST: elenchi da eseguire, non da leggere --------------------- */
.article-content ul.liec-check { list-style: none; padding: 0; margin: 1.8em 0; display: grid; gap: 0.7rem; }
.article-content ul.liec-check li { position: relative; padding-left: 2rem; font-size: 0.98rem; line-height: 1.6; margin: 0; }
.article-content ul.liec-check li::before {
  content: ""; position: absolute; left: 0; top: 0.42em; width: 1.15rem; height: 1.15rem;
  border: 1.5px solid var(--gold); border-radius: 4px;
}
.article-content ul.liec-check li::after {
  content: ""; position: absolute; left: 0.36rem; top: 0.62em; width: 0.36rem; height: 0.66rem;
  border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(42deg);
}

/* --- ELENCO NORMATIVO: le liste chiuse di legge ------------------------- */
.article-content ul.liec-norma { list-style: none; padding: 0; margin: 1.6em 0; border-left: 2px solid var(--gold); }
.article-content ul.liec-norma li { padding: 0.42rem 0 0.42rem 1.1rem; font-size: 0.97rem; line-height: 1.55; margin: 0; }
.article-content ul.liec-norma li + li { border-top: 1px solid var(--border); }

/* --- CITAZIONE DELLA NORMA ---------------------------------------------- */
.liec-norma-cit {
  background: #faf6ed; border-radius: 8px; padding: 1.2rem 1.4rem; margin: 2em 0;
  font-family: 'Lora', Georgia, serif; font-size: 1.02rem; line-height: 1.6;
  color: var(--ink); font-style: italic;
}
.liec-norma-cit .fonte {
  display: block; margin-top: 0.7rem; font-family: 'DM Sans', sans-serif; font-style: normal;
  font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: #8a6420; font-weight: 700;
}

/* --- STAMPA -------------------------------------------------------------- */
@media print {
  .article-content table, .liec-commentary table { border: 1px solid #999 !important; }
  .article-content th, .liec-commentary th { background: #eee !important; color: #000 !important; }
  .article-content tbody tr:nth-child(even) td { background: #f7f7f7 !important; }
  .liec-dato, .liec-avvertenza, .liec-norma-cit { border-color: #999 !important; background: #fff !important; }
}

@media print {
  nav, .back-link, .article-nav, .related-articles, .print-btn, footer, .article-author-box, .article-disclaimer { display: none !important; }
  .article-hero { padding: 2rem 1rem 1.5rem; background: #fff !important; color: #000 !important; }
  .article-title { color: #000 !important; font-size: 1.6rem !important; }
  .article-hero .article-byline, .article-hero .article-byline a { color: #1c1c1e !important; }
  .article-body { padding: 1rem !important; }
  .article-content a { color: #000 !important; text-decoration: none !important; }
  body { background: #fff !important; }
}

/* --- UI V2 (ex blocco inline nel corpo, righe 748-894) --- */
      /* === UI V2 - meta bar tipografica (no badge colorati) === */
      .liec-uiv2-metabar {
        margin: 0 0 1.75rem;
        padding: 0.6rem 0 0.9rem;
        border-bottom: 1px solid #ece7dc;
        font-size: 0.78rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--ink-soft, #4a4a52);
        font-weight: 600;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.55rem;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      }
      .liec-uiv2-metabar .liec-mb-item { display: inline-flex; align-items: center; gap: 0.4rem; }
      .liec-uiv2-metabar .liec-mb-status { color: var(--navy, #1a2744); }
      .liec-uiv2-metabar .liec-mb-dot {
        display: inline-block; width: 7px; height: 7px; border-radius: 50%;
      }
      .liec-uiv2-metabar .liec-mb-sep { color: var(--gold, #c4943a); font-weight: 400; }
      .liec-uiv2-metabar .liec-mb-codice { color: var(--navy, #1a2744); }

      /* === UI V2 - TOC editoriale === */
      .liec-uiv2-toc {
        margin: 0 0 2.25rem;
        padding: 1.1rem 1.5rem 1.25rem;
        background: #fafaf7;
        border: 1px solid #ece7dc;
        border-left: 3px solid var(--gold, #c4943a);
      }
      .liec-uiv2-toc summary {
        cursor: pointer;
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
      }
      .liec-uiv2-toc summary::-webkit-details-marker { display: none; }
      .liec-uiv2-toc .liec-toc-label {
        font-family: 'Lora', Georgia, serif;
        font-size: 0.82rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: var(--navy, #1a2744);
      }
      .liec-uiv2-toc .liec-toc-mark {
        width: 9px; height: 9px;
        border-right: 1.5px solid var(--ink-soft, #4a4a52);
        border-bottom: 1.5px solid var(--ink-soft, #4a4a52);
        transform: rotate(45deg);
        margin-bottom: 4px;
        transition: transform .2s ease;
      }
      .liec-uiv2-toc:not([open]) .liec-toc-mark { transform: rotate(-45deg); margin-bottom: 0; margin-top: 4px; }
      .liec-uiv2-toc[open] summary { padding-bottom: 0.85rem; border-bottom: 1px solid #ece7dc; margin-bottom: 0.85rem; }
      .liec-uiv2-toc .liec-toc-list {
        margin: 0;
        padding: 0 0 0 1.4rem;
        list-style: decimal;
        font-family: 'Lora', Georgia, serif;
        color: var(--ink, #1c1c1e);
        counter-reset: tocsec;
      }
      .liec-uiv2-toc .liec-toc-list li {
        margin: 0.35rem 0;
        line-height: 1.55;
        padding-left: 0.2rem;
      }
      .liec-uiv2-toc .liec-toc-list li::marker {
        color: var(--gold, #c4943a);
        font-weight: 600;
        font-variant-numeric: lining-nums;
      }
      .liec-uiv2-toc .liec-toc-list a {
        color: var(--ink, #1c1c1e);
        text-decoration: none;
        border-bottom: 1px solid transparent;
        transition: border-color .15s ease, color .15s ease;
      }
      .liec-uiv2-toc .liec-toc-list a:hover {
        color: var(--navy, #1a2744);
        border-bottom-color: var(--gold, #c4943a);
      }

      /* Card più definite per ogni sezione */
      .single-format-standard .liec-section {
        margin: 2.5rem 0;
        padding: 1.75rem 2rem;
        background: #fff;
        border: 1px solid #ece7dc;
        border-left: 4px solid var(--gold);
        border-radius: 0 12px 12px 0;
        box-shadow: 0 1px 4px rgba(26,39,68,0.04);
      }
      .single-format-standard .liec-section h2 {
        font-family: 'Lora', Georgia, serif;
        font-size: 1.5rem;
        color: var(--navy);
        margin: 0 0 1.25rem;
        padding-bottom: 0.75rem;
        border-bottom: 2px solid #f5f1e8;
        font-weight: 700;
        letter-spacing: -0.01em;
      }
      .single-format-standard .liec-section.liec-vedi-anche {
        background: linear-gradient(135deg, #fafaf7 0%, #f5f1e8 100%);
        border-left-color: var(--navy);
      }
      .single-format-standard .liec-section.liec-faq h3 {
        font-family: 'Lora', Georgia, serif;
        color: var(--navy);
        font-size: 1.1rem;
        margin: 1.5rem 0 0.5rem;
      }
      .single-format-standard .liec-section.liec-faq .faq-item {
        padding: 1rem 0;
        border-bottom: 1px dashed #ece7dc;
      }
      .single-format-standard .liec-section.liec-faq .faq-item:last-child { border-bottom: none; }
      .single-format-standard .liec-section.liec-casi-pratici .caso-pratico {
        background: #fafaf7;
        padding: 1.25rem 1.5rem;
        margin: 1rem 0;
        border-left: 3px solid var(--navy);
        border-radius: 0 8px 8px 0;
      }
      .single-format-standard .liec-section.liec-casi-pratici h3 {
        color: var(--navy);
        font-family: 'Lora', Georgia, serif;
        font-size: 1.05rem;
        margin: 0 0 0.6rem;
      }
      /* Mobile responsive */
      @media (max-width: 768px) {
        .liec-uiv2-metabar { font-size: 0.7rem; gap: 0.45rem; padding-bottom: 0.7rem; }
        .liec-uiv2-metabar .liec-mb-sep { display: none; }
        .liec-uiv2-toc { padding: 0.95rem 1.1rem; }
        .single-format-standard .liec-section { padding: 1.25rem 1.25rem; margin: 1.5rem 0; }
        .single-format-standard .liec-section h2 { font-size: 1.25rem; }
      }
      /* Smooth scroll globale */
      html { scroll-behavior: smooth; }
