Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.css: Difference between revisions

MediaWiki interface page
Stile indice dentro il rail (ai-in-rail)
temi colore del widget indice [TEMI]
 
(29 intermediate revisions by the same user not shown)
Line 30: Line 30:
   color:inherit;
   color:inherit;
}
}
/* === [DASH-HERO] inizio === */
/* Dashboard come "articolo di prima pagina": nasconde il titolo standard di
  Citizen (firstHeading), perché l'headline editoriale vive nel contenuto.
  Resta il resto dell'header (nav/strumenti). Page-scoped (due varianti per
  l'escaping del ":"). */
body.page-CinetecaSarda_Dashboard #firstHeading,
body.page-CinetecaSarda-Dashboard #firstHeading,
body.page-CinetecaSarda_Dashboard .mw-first-heading,
body.page-CinetecaSarda-Dashboard .mw-first-heading,
body.page-CinetecaSarda_Dashboard .mw-page-title-main,
body.page-CinetecaSarda-Dashboard .mw-page-title-main {
display: none !important;
}
/* Spazio per le due colonne (articolo + indice), moderato. */
body.page-CinetecaSarda_Dashboard,
body.page-CinetecaSarda-Dashboard {
--width-layout: min( 1180px, 94vw );
}
/* === [DASH-HERO] fine === */
/* === [NS-BRAND] inizio === */
/* ==========================================================
  Brand CinetecaSarda (namespace 3004) — vale su TUTTE le pagine
  ========================================================== */
/* Link gialli del brand (dalla testata di cinetecasarda.it) al posto del blu
  di Citizen. I link a pagine mancanti (.new) restano rossi: segnale utile. */
body.ns-3004 .mw-parser-output a:not( .new ),
body.ns-3004 .mw-parser-output a:not( .new ):visited {
color: #e7b142;
}
body.ns-3004 .mw-parser-output a:not( .new ):hover {
color: #f1c878;
}
/* Titolo "editoriale leggero" per le pagine di contenuto: occhiello giallo
  sopra, titolo bianco pulito. Sulla Dashboard #firstHeading è nascosto
  (ha il suo hero), quindi questo occhiello lì non compare. */
body.ns-3004 #firstHeading {
color: #ffffff;
}
body.ns-3004 #firstHeading::before {
content: "Cineteca Sarda";
display: block;
margin-bottom: .35rem;
font-size: .8rem;
font-weight: 500;
letter-spacing: .08em;
text-transform: uppercase;
color: #e7b142;
}
/* L'etichetta "in: Cineteca Sarda" è sostituita dall'occhiello */
body.ns-3004 .namespace-label {
display: none;
}
/* === [NS-BRAND] fine === */


/* === [ARCHIVIO-EDITORIALE] inizio === */
/* === [ARCHIVIO-EDITORIALE] inizio === */
Line 96: Line 155:
color: var( --color-base, #fff );
color: var( --color-base, #fff );
font-weight: 600;
font-weight: 600;
}
/* Riga "Prototipo di consultazione": blocco in evidenza (accent a sinistra) */
.archivio-editoriale .ce-prototipo {
margin: 1.8rem 0 0;
padding: .2rem 0 .2rem 1rem;
border-left: 3px solid var( --ns-accent );
}
.archivio-editoriale .ce-prototipo-eti {
font-size: .92rem;
font-weight: 600;
color: #ffffff;
margin-bottom: .2rem;
}
.archivio-editoriale .ce-prototipo p {
margin: 0;
max-width: 64ch;
font-size: 1rem;
line-height: 1.55;
color: var( --color-base--subtle, #b8b8b8 );
}
}


Line 147: Line 226:
}
}
/* === [ARCHIVIO-EDITORIALE] fine === */
/* === [ARCHIVIO-EDITORIALE] fine === */
/* === [DASH-HERO] inizio === */
/* Dashboard come "articolo di prima pagina": nasconde il titolo standard di
  Citizen (firstHeading), perché l'headline editoriale vive nel contenuto.
  Resta il resto dell'header (nav/strumenti). Page-scoped (due varianti per
  l'escaping del ":"). */
body.page-CinetecaSarda_Dashboard #firstHeading,
body.page-CinetecaSarda-Dashboard #firstHeading,
body.page-CinetecaSarda_Dashboard .mw-first-heading,
body.page-CinetecaSarda-Dashboard .mw-first-heading,
body.page-CinetecaSarda_Dashboard .mw-page-title-main,
body.page-CinetecaSarda-Dashboard .mw-page-title-main {
display: none !important;
}
/* Spazio per le due colonne (articolo + indice), moderato. */
body.page-CinetecaSarda_Dashboard,
body.page-CinetecaSarda-Dashboard {
--width-layout: min( 1180px, 94vw );
}
/* === [DASH-HERO] fine === */
/* === [NS-BRAND] inizio === */
/* ==========================================================
  Brand CinetecaSarda (namespace 3004) — vale su TUTTE le pagine
  ========================================================== */
/* Link gialli del brand (dalla testata di cinetecasarda.it) al posto del blu
  di Citizen. I link a pagine mancanti (.new) restano rossi: segnale utile. */
body.ns-3004 .mw-parser-output a:not( .new ),
body.ns-3004 .mw-parser-output a:not( .new ):visited {
color: #e7b142;
}
body.ns-3004 .mw-parser-output a:not( .new ):hover {
color: #f1c878;
}
/* Titolo "editoriale leggero" per le pagine di contenuto: occhiello giallo
  sopra, titolo bianco pulito. Sulla Dashboard #firstHeading è nascosto
  (ha il suo hero), quindi questo occhiello lì non compare. */
body.ns-3004 #firstHeading {
color: #ffffff;
}
body.ns-3004 #firstHeading::before {
content: "Cineteca Sarda";
display: block;
margin-bottom: .35rem;
font-size: .8rem;
font-weight: 500;
letter-spacing: .08em;
text-transform: uppercase;
color: #e7b142;
}
/* L'etichetta "in: Cineteca Sarda" è sostituita dall'occhiello */
body.ns-3004 .namespace-label {
display: none;
}
/* === [NS-BRAND] fine === */


/* === [INDICE] inizio === */
/* === [INDICE] inizio === */
/* ==========================================================
/* ==========================================================
   Indice d'archivio (sorgente unica {{Indice <NS>}}).
   Indice d'archivio (sorgente unica {{Indice <NS>}}).
   Vale sia nel rail destro (param rail=1 → box-stato-archivio,
   Colonna destra: flottante dove non c'è rail, dentro il rail di Citizen
   spostato dal JS sopra la TOC) sia nel layout della Dashboard.
   (sopra la TOC nativa) dove c'è. Collassabile. Scala font allineata a
  Citizen (--font-size-*) per armonia con la TOC.
   ========================================================== */
   ========================================================== */


.archivio-indice {
.archivio-indice {
font-size: .9rem;
font-size: var( --font-size-small, .875rem );
line-height: 1.45;
line-height: 1.45;
}
}


/* Variante "rail": colonna destra flottante, SEMPRE visibile (non dipende dalla
/* Variante "rail": colonna destra flottante, sempre visibile (no dipendenza TOC) */
  TOC/rail di Citizen). Sulle pagine di contenuto la include IntestazionePagine. */
.archivio-indice.ai-rail {
.archivio-indice.ai-rail {
float: right;
float: right;
Line 237: Line 257:
}
}
}
}
 
/* Quando il JS l'ha spostato DENTRO il rail di Citizen (sopra la TOC) */
/* Quando il JS l'ha spostato DENTRO il rail di Citizen (sopra la TOC nativa) */
.archivio-indice.ai-in-rail {
.archivio-indice.ai-in-rail {
float: none;
float: none;
Line 247: Line 266:
}
}


/* Testata = ritorno alla Dashboard + brand */
/* Testata = riga header: nome archivio (link Dashboard) + chevron toggle */
.archivio-indice .ai-testata {
.archivio-indice .ai-testata {
margin-bottom: .55rem;
display: flex;
padding-bottom: .5rem;
align-items: center;
justify-content: space-between;
gap: .5rem;
margin-bottom: .5rem;
padding-bottom: .45rem;
border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .16 ) );
border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .16 ) );
font-size: .76rem;
font-size: var( --font-size-x-small, .8125rem );
text-transform: uppercase;
text-transform: uppercase;
letter-spacing: .08em;
letter-spacing: .07em;
}
}
.archivio-indice .ai-testata a,
.archivio-indice .ai-testata a,
Line 264: Line 287:
.archivio-indice .ai-testata a:hover {
.archivio-indice .ai-testata a:hover {
color: #e7b142;
color: #e7b142;
}
/* Chevron apri/chiudi */
.archivio-indice .ai-toggle {
cursor: pointer;
user-select: none;
line-height: 1;
padding: .1rem .25rem;
color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-indice .ai-toggle::before {
content: "▾";
display: inline-block;
font-size: .9em;
transition: transform .15s ease;
}
.archivio-indice.ai-collapsed .ai-toggle::before {
transform: rotate( -90deg );
}
.archivio-indice.ai-collapsed .ai-body {
display: none;
}
.archivio-indice .ai-toggle:hover {
color: #ffffff;
}
}


Line 270: Line 317:
padding: .5rem 0;
padding: .5rem 0;
border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .07 ) );
border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .07 ) );
}
.archivio-indice .ai-body .ai-sez:last-child {
border-bottom: 0;
}
}
.archivio-indice .ai-eti {
.archivio-indice .ai-eti {
margin-bottom: .12rem;
margin-bottom: .12rem;
font-size: .92rem;
font-size: var( --font-size-small, .875rem );
font-weight: 600;
font-weight: 600;
color: #ffffff;
color: #ffffff;
}
}
.archivio-indice .ai-voci {
.archivio-indice .ai-voci {
font-size: var( --font-size-small, .875rem );
color: var( --color-base--subtle, #b8b8b8 );
color: var( --color-base--subtle, #b8b8b8 );
}
}
Line 290: Line 341:
}
}


/* Catch-all "Tutte le pagine": compatto */
/* Riga licenza (sempre visibile, anche con indice chiuso) */
.archivio-indice .ai-altre {
.archivio-indice .ai-licenza {
padding-top: .55rem;
margin-top: .6rem;
padding-top: .5rem;
border-top: 1px solid var( --border-color-base, rgba( 255, 255, 255, .09 ) );
font-size: var( --font-size-x-small, .8125rem );
color: var( --color-base--subtle, #b8b8b8 );
opacity: .85;
}
}
.archivio-indice .ai-voci-auto {
.archivio-indice .ai-licenza a,
margin-top: .3rem;
.archivio-indice .ai-licenza a:visited {
font-size: .82rem;
color: #e7b142;
text-decoration: none;
}
}
.archivio-indice .ai-voci-auto table,
.archivio-indice .ai-licenza a:hover {
.archivio-indice .ai-voci-auto .mw-prefixindex-list-table {
text-decoration: underline;
width: 100%;
display: block;
}
}
.archivio-indice .ai-voci-auto td,
 
.archivio-indice .ai-voci-auto .mw-prefixindex-list {
/* Il rail di Citizen ha `contain: strict` → dimensione calcolata senza il
display: block;
  contenuto + clip dell'eccedenza. Con l'indice in più, chiudendo una sezione
width: auto !important;
  il rail si accorcia e taglia l'indice. Togliamo size+paint (teniamo
  layout+style) così il rail cresce col contenuto e non clippa. Solo ns 3004. */
body.ns-3004 .citizen-page-sidebar {
contain: layout style;
}
}
.archivio-indice .ai-voci-auto a {
 
/* === TOC nativa di Citizen: giallo SOLO sulla voce attiva (orientamento) === */
body.ns-3004 .citizen-toc-list-item--active > a,
body.ns-3004 .citizen-toc-list-item--active > a .citizen-toc-text,
body.ns-3004 .citizen-toc-list-item--active .citizen-toc-link {
color: #e7b142;
color: #e7b142;
font-weight: 600;
}
/* Indice a LISTE native (variante editabile come elenco puntato in VE):
  "* sezione" + "** pagina". Stesso look dei blocchi a div .ai-eti/.ai-voci.
  Va nel blocco [INDICE] di Common.css. */
.archivio-indice .ai-body ul {
list-style: none;
margin: 0;
padding: 0;
}
.archivio-indice .ai-body > ul > li {
margin: 0 0 .8rem;
font-size: .72rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .08em;
color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-indice .ai-body > ul > li > ul {
margin: .35rem 0 0;
font-weight: 400;
text-transform: none;
letter-spacing: 0;
}
.archivio-indice .ai-body > ul > li > ul > li {
margin: .12rem 0;
font-size: .92rem;
line-height: 1.45;
}
.archivio-indice .ai-body > ul > li > ul a,
.archivio-indice .ai-body > ul > li > ul a:visited {
color: var( --ns-accent, #e7b142 );
text-decoration: none;
}
.archivio-indice .ai-body > ul > li > ul a:hover {
text-decoration: underline;
}
/* link modifica menu */
.archivio-indice .ai-modifica {
margin-top: .6rem;
font-size: .76rem;
}
.archivio-indice .ai-modifica a,
.archivio-indice .ai-modifica a:visited {
color: var( --color-base--subtle, #b8b8b8 );
text-decoration: none;
text-decoration: none;
}
}
.archivio-indice .ai-voci-auto a:hover {
.archivio-indice .ai-modifica a:hover {
text-decoration: underline;
text-decoration: underline;
}
/* testata cliccabile per intero */
.archivio-indice .ai-testata {
cursor: pointer;
}
}
/* === [INDICE] fine === */
/* === [INDICE] fine === */
/* === [HOME] inizio === */
/* ==========================================================
  HOMEPAGE CINETECA DELL'ETNA
  Pagina di test: Test_home
  ========================================================== */
/* Nasconde titolo standard Citizen solo nella pagina Test_home */
body.page-Test_home .citizen-page-header,
body.page-Test_home .citizen-body-header,
body.page-Test_home .mw-body-header,
body.page-Test_home #firstHeading,
body.page-Test_home .firstHeading,
body.page-Test_home .mw-first-heading,
body.page-Test_home .mw-page-title-main {
  display: none !important;
}
/* Nasconde colonna destra standard Citizen solo nella pagina Test_home */
body.page-Test_home .citizen-page-sidebar,
body.page-Test_home .citizen-toc,
body.page-Test_home .citizen-page-info,
body.page-Test_home .citizen-lastmod,
body.page-Test_home .citizen-page-actions-more,
body.page-Test_home .toc,
body.page-Test_home #toc {
  display: none !important;
}
/* Nasconde informazioni ultima modifica solo nella pagina Test_home */
body.page-Test_home .mw-parser-output .printfooter,
body.page-Test_home .mw-parser-output .catlinks,
body.page-Test_home .mw-parser-output .mw-footer-info,
body.page-Test_home .page-info,
body.page-Test_home .citizen-page-info,
body.page-Test_home .citizen-page-footer,
body.page-Test_home .citizen-body-footer,
body.page-Test_home .mw-body-footer,
body.page-Test_home .mw-last-modified,
body.page-Test_home #footer-info-lastmod {
  display: none !important;
}
/* Allarga lo spazio utile della home dentro Citizen */
body.page-Test_home .citizen-body,
body.page-Test_home .citizen-body-container,
body.page-Test_home .citizen-body-content,
body.page-Test_home .citizen-page-container,
body.page-Test_home .mw-body,
body.page-Test_home .mw-body-content,
body.page-Test_home .mw-parser-output,
body.page-Test_home #bodyContent,
body.page-Test_home #content {
  max-width: none !important;
  width: 100% !important;
}
body.page-Test_home .citizen-body {
  grid-template-columns: minmax(0, 1fr) !important;
}
/* Contenitore generale home */
body.page-Test_home .mw-parser-output .ce-home {
  width: min(1300px, calc(100vw - 14rem));
  max-width: none !important;
  min-height: calc(100vh - 7rem);
  margin: 0 auto;
  padding: 2rem 0 2rem;
  box-sizing: border-box;
  overflow-x: hidden;
  transform: none;
  display: flex;
  align-items: center;
}
/* Layout generale: contenuto principale + colonna laterale */
body.page-Test_home .mw-parser-output .ce-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 3rem;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
body.page-Test_home .mw-parser-output .ce-home-main {
  min-width: 0;
}
/* Colonna laterale editoriale */
body.page-Test_home .mw-parser-output .ce-home-aside {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 0;
  border-left: 0;
  padding-left: 2rem;
}
/* Hero: testo a sinistra, foto verticale a destra */
body.page-Test_home .mw-parser-output .ce-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 3rem;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 5rem;
}
body.page-Test_home .mw-parser-output .ce-hero-text {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  align-self: start;
  margin-top: 0;
  padding-top: 0;
}
/* Occhiello / motto identitario */
body.page-Test_home .mw-parser-output .ce-hero-kicker {
  margin-bottom: 1.4rem;
  color: var(--color-base, #ffffff);
  opacity: 0.72;
  font-size: 0.92rem;
  line-height: 1.2;
  font-style: normal;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.04em;
}
/* Immagine verticale della home: solo foto, nessun box */
body.page-Test_home .mw-parser-output .ce-hero-visual {
  grid-column: 2;
  grid-row: 1;
  width: 300px;
  height: 450px;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: hidden;
}
body.page-Test_home .mw-parser-output .ce-hero-visual > p {
  margin: 0 !important;
  padding: 0 !important;
}
body.page-Test_home .mw-parser-output .ce-hero-visual a,
body.page-Test_home .mw-parser-output .ce-hero-visual span,
body.page-Test_home .mw-parser-output .ce-hero-visual figure,
body.page-Test_home .mw-parser-output .ce-hero-visual .mw-default-size,
body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-description {
  display: block;
  width: 300px !important;
  height: 450px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.page-Test_home .mw-parser-output .ce-hero-visual img,
body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-element,
body.page-Test_home .mw-parser-output .ce-hero-img {
  display: block;
  width: 300px !important;
  height: 450px !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
/* Testo principale hero */
body.page-Test_home .mw-parser-output .ce-hero-text h1 {
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: 0.98;
  margin: 0 0 1.5rem;
  letter-spacing: -0.03em;
}
body.page-Test_home .mw-parser-output .ce-hero-text p {
  font-size: 1.15rem;
  line-height: 1.55;
  max-width: 760px;
  color: var(--color-base--subtle, #b8b8b8);
}
/* Indice editoriale principale: libero, senza box */
body.page-Test_home .mw-parser-output .ce-home-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  width: 100%;
  margin: 0;
  padding-top: 0;
  border: 0;
}
body.page-Test_home .mw-parser-output .ce-index-item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
}
body.page-Test_home .mw-parser-output .ce-index-number {
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 0.85rem;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.04em;
}
body.page-Test_home .mw-parser-output .ce-index-title {
  margin-bottom: 0.65rem;
  font-size: 1.45rem;
  line-height: 1.1;
  font-weight: 600;
}
/* Index / Federated Archives Alliance / Contatti: rosso Citizen */
body.page-Test_home .mw-parser-output .ce-index-title,
body.page-Test_home .mw-parser-output .ce-index-title a,
body.page-Test_home .mw-parser-output .ce-index-title a:visited {
  color: var(--color-link-red, var(--color-destructive, #d33)) !important;
  text-decoration: none;
}
body.page-Test_home .mw-parser-output .ce-index-title a:hover {
  color: var(--color-link-red, var(--color-destructive, #d33)) !important;
  text-decoration: underline;
}
body.page-Test_home .mw-parser-output .ce-index-text {
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 1rem;
  line-height: 1.45;
  max-width: 32em;
}
/* Box laterali leggeri, senza delimitazioni */
body.page-Test_home .mw-parser-output .ce-side-box {
  padding: 0;
  border: 0;
  background: transparent;
}
body.page-Test_home .mw-parser-output .ce-side-box::before {
  content: none;
  display: none;
}
body.page-Test_home .mw-parser-output .ce-side-label {
  margin-bottom: 0.6rem;
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
/* Titoli colonna destra: bianchi */
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title a,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title a:visited {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.1;
  font-weight: 600;
  color: #ffffff !important;
  text-decoration: none !important;
}
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}
body.page-Test_home .mw-parser-output .ce-side-text {
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 0.95rem;
  line-height: 1.45;
}
body.page-Test_home .mw-parser-output .ce-side-link {
  margin-top: 0.85rem;
  font-size: 0.95rem;
}
/* Link azione colonna destra: bianchi, blu Citizen solo all'hover */
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link a,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link a:visited {
  color: #ffffff !important;
  text-decoration: none !important;
}
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link a:hover {
  color: var(--color-progressive, #36c) !important;
  text-decoration: underline !important;
}
/* Footer Citizen visibile e alleggerito solo nella home */
body.page-Test_home #footer {
  display: block !important;
  margin-top: 1.5rem !important;
  padding-top: 0 !important;
  padding-bottom: 1.25rem !important;
  border-top: 0 !important;
  background: transparent !important;
  text-align: center;
  font-size: 0.76rem;
  line-height: 1.3;
  color: var(--color-base--subtle, #b8b8b8) !important;
  opacity: 0.72;
}
body.page-Test_home #footer-info {
  display: block !important;
}
body.page-Test_home #footer-places,
body.page-Test_home #footer-icon,
body.page-Test_home #footer-info-lastmod {
  display: none !important;
}
body.page-Test_home .citizen-footer-tagline,
body.page-Test_home #footer-tagline,
body.page-Test_home #footer .citizen-footer__tagline {
  color: var(--color-base--subtle, #b8b8b8) !important;
  opacity: 0.72;
}
body.page-Test_home #footer a,
body.page-Test_home #footer a:visited {
  color: var(--color-base--subtle, #b8b8b8) !important;
  text-decoration: none !important;
}
body.page-Test_home #footer a:hover {
  color: var(--color-base, #ffffff) !important;
  text-decoration: underline !important;
}
/* ==========================================================
  RESPONSIVE
  ========================================================== */
/* Finestra intermedia:
  1. hero ancora a due colonne
  2. indice sotto
  3. colonna informativa sotto l'indice */
@media (max-width: 1250px) {
  body.page-Test_home .mw-parser-output .ce-home {
    width: min(100%, calc(100vw - 4rem));
    min-height: auto;
    margin: 0 auto;
    padding: 2rem 0 3rem;
    display: block;
  }
  body.page-Test_home .mw-parser-output .ce-home-layout {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
  body.page-Test_home .mw-parser-output .ce-home-main {
    min-width: 0;
  }
  body.page-Test_home .mw-parser-output .ce-hero {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
    align-items: start;
    margin-bottom: 4.5rem;
  }
  body.page-Test_home .mw-parser-output .ce-hero-text {
    grid-column: 1 / span 2;
    grid-row: 1;
  }
  body.page-Test_home .mw-parser-output .ce-hero-visual {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
  }
  body.page-Test_home .mw-parser-output .ce-home-index {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
  }
  body.page-Test_home .mw-parser-output .ce-home-aside {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
    padding-left: 0;
    border-left: 0;
  }
  body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-box {
    padding-left: 4rem;
  }
}
/* Finestra più stretta:
  hero passa a una colonna, ma ordine resta:
  titolo/testo, foto, indice, blocchi informativi */
@media (max-width: 900px) {
  body.page-Test_home .mw-parser-output .ce-home {
    width: min(100%, calc(100vw - 2rem));
    padding: 1.5rem 0 3rem;
  }
  body.page-Test_home .mw-parser-output .ce-hero {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    margin-bottom: 3.5rem;
  }
  body.page-Test_home .mw-parser-output .ce-hero-text {
    grid-column: 1;
    grid-row: 1;
  }
  body.page-Test_home .mw-parser-output .ce-hero-visual {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    max-width: 300px;
    height: 450px;
  }
  body.page-Test_home .mw-parser-output .ce-hero-visual a,
  body.page-Test_home .mw-parser-output .ce-hero-visual span,
  body.page-Test_home .mw-parser-output .ce-hero-visual figure,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-default-size,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-description,
  body.page-Test_home .mw-parser-output .ce-hero-visual img,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-element,
  body.page-Test_home .mw-parser-output .ce-hero-img {
    width: 300px !important;
    height: 450px !important;
  }
  body.page-Test_home .mw-parser-output .ce-home-index {
    grid-template-columns: 1fr;
    gap: 1.7rem;
  }
  body.page-Test_home .mw-parser-output .ce-index-item {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }
  body.page-Test_home .mw-parser-output .ce-home-aside {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    border-left: 0;
    padding-left: 0;
    border-top: 0;
    padding-top: 0;
  }
  body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-box {
    padding-left: 0;
  }
  body.page-Test_home .mw-parser-output .ce-hero-text h1 {
    font-size: clamp(2.6rem, 12vw, 4rem);
    line-height: 0.98;
  }
  body.page-Test_home .mw-parser-output .ce-hero-text p {
    font-size: 1.05rem;
  }
}
/* Mobile molto stretto */
@media (max-width: 520px) {
  body.page-Test_home .mw-parser-output .ce-home {
    width: 100%;
    padding: 1rem 0 2.5rem;
  }
  body.page-Test_home .mw-parser-output .ce-hero-text h1 {
    font-size: clamp(2.3rem, 13vw, 3.3rem);
  }
  body.page-Test_home .mw-parser-output .ce-hero-visual,
  body.page-Test_home .mw-parser-output .ce-hero-visual a,
  body.page-Test_home .mw-parser-output .ce-hero-visual span,
  body.page-Test_home .mw-parser-output .ce-hero-visual figure,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-default-size,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-description,
  body.page-Test_home .mw-parser-output .ce-hero-visual img,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-element,
  body.page-Test_home .mw-parser-output .ce-hero-img {
    width: 260px !important;
    height: 390px !important;
  }
}
/* === [HOME] fine === */
/* === [MAPPA] inizio === */
/* Index — sommario della "rivista". Tipografia editoriale CONDIVISA con home e
  progetti (occhiello / titolo da prima pagina / lead): vedi la "regola
  tipografica" nel README. VE-safe: solo wikitext nativo (liste di definizione
  ; :), nessun div di layout, niente sezioni espandibili. Stile su body.page-Index. */
body.page-Index #bodyContent,
body.page-Index .mw-parser-output {
max-width: 56rem;
}
/* Titolo della pagina = titolo da prima pagina (come i progetti, .ce-headline) */
body.page-Index #firstHeading {
font-size: clamp( 2.4rem, 4.6vw, 3.6rem );
line-height: 1.03;
font-weight: 700;
letter-spacing: -.02em;
color: #ffffff;
}
/* riga d'apertura = lead */
body.page-Index .mw-parser-output > p:first-of-type {
margin: .4rem 0 2.6rem;
max-width: 46rem;
font-size: 1.08rem;
line-height: 1.6;
color: var( --color-base--subtle, #b8b8b8 );
}
/* ogni sezione è un blocco di lista di definizione; numerazione continua */
body.page-Index .mw-parser-output {
counter-reset: sez;
}
body.page-Index .mw-parser-output dl {
margin: 0 0 2.4rem;
}
/* etichetta di sezione = OCCHIELLO, nel ROSSO della home + numero (richiamo e
  stacco visivo tra le sezioni). */
body.page-Index .mw-parser-output dt {
counter-increment: sez;
margin: 0 0 1rem;
font-size: .9rem;
font-weight: 500;
letter-spacing: .04em;
color: var( --color-link-red, var( --color-destructive, #d33 ) );
}
body.page-Index .mw-parser-output dt::before {
content: counter( sez, decimal-leading-zero );
margin-right: .7em;
font-variant-numeric: tabular-nums;
}
/* voce = titolo da prima pagina (ridotto) + descrizione sotto.
  Ritmo verticale regolare: il titolo è un BLOCCO con un solo margin; la
  descrizione è il testo della dd, con la sua interlinea. */
body.page-Index .mw-parser-output dd {
margin: 0 0 1.4rem;
color: var( --color-base--subtle, #b8b8b8 );
font-size: 1.02rem;
line-height: 1.55;
}
body.page-Index .mw-parser-output dd:last-child {
margin-bottom: 0;
}
/* titolo della voce: BIANCO TIPOGRAFICO, mai bluetto */
body.page-Index .mw-parser-output dd b {
display: block;
margin: 0 0 .35rem;
font-size: 1.5rem;
font-weight: 700;
letter-spacing: -.015em;
line-height: 1.2;
}
body.page-Index .mw-parser-output dd b a,
body.page-Index .mw-parser-output dd b a:visited {
color: #ffffff;
text-decoration: none;
}
body.page-Index .mw-parser-output dd b a:hover {
text-decoration: underline;
}
/* === [MAPPA] fine === */
/* === [DEV] inizio === */
/* ==========================================================
  Dev — Dashboard "a riquadri per progetto" (pagina centrale).
  Stesso taglio editoriale di CinetecaSarda, ma l'indice è una griglia
  di card (riquadri), non il widget nel rail. Wrapper .dev-dash.
  Colori dei link: default Citizen (nessun override).
  ========================================================== */
.dev-dash {
color: var( --color-base, #fff );
}
/* Testata editoriale */
.dev-dash .occhiello {
margin: 0 0 .7rem;
font-size: var( --font-size-x-small, .8125rem );
letter-spacing: .07em;
text-transform: uppercase;
color: var( --color-base--subtle, #b8b8b8 );
}
.dev-dash .dev-headline {
margin: 0 0 1rem;
font-size: clamp( 2.4rem, 4.6vw, 3.6rem );
line-height: 1.03;
font-weight: 700;
letter-spacing: -.02em;
color: #ffffff;
}
.dev-dash .dev-lead {
margin: 0 0 .5rem;
max-width: 64ch;
font-size: 1.1rem;
line-height: 1.55;
color: var( --color-base--subtle, #b8b8b8 );
}
/* Riquadri "a colonne" (masonry): impacchettano senza vuoti verticali */
.dev-dash .dev-griglia {
columns: 290px;
column-gap: 1.3rem;
margin-top: 2rem;
}
/* Riquadro = progetto */
.dev-dash .dev-card {
break-inside: avoid;
margin: 0 0 1.3rem;
padding: 1rem 1.1rem 1.1rem;
border: 1px solid var( --border-color-base, rgba( 255, 255, 255, .12 ) );
border-radius: 8px;
background: rgba( 255, 255, 255, .02 );
}
.dev-dash .dev-card-titolo {
margin-bottom: .5rem;
font-size: 1.15rem;
font-weight: 700;
color: #ffffff;
}
.dev-dash .dev-card-sub {
margin: .7rem 0 .2rem;
font-size: var( --font-size-xx-small, .75rem );
text-transform: uppercase;
letter-spacing: .07em;
color: var( --color-base--subtle, #b8b8b8 );
}
.dev-dash .dev-card ul {
margin: 0;
padding: 0;
list-style: none;
}
.dev-dash .dev-card li {
padding: .18rem 0;
line-height: 1.4;
font-size: .95rem;
}
/* Pagine centrali dei sotto-progetti (editoriale + indice nel rail): nascondi
  il titolo standard di Citizen — l'headline vive nel contenuto (.ce-headline). */
body.page-Dev_Tapescan #firstHeading,
body.page-Dev_Tapescan .mw-page-title-main,
body.page-Dev_TBC #firstHeading,
body.page-Dev_TBC .mw-page-title-main,
body.page-Dev_Robota #firstHeading,
body.page-Dev_Robota .mw-page-title-main {
display: none !important;
}
/* Dev: link dell'indice e dell'editoriale col colore di DEFAULT di Citizen
  (non il giallo brand di CinetecaSarda, hardcodato in [INDICE]). Specificità
  più alta → vince senza toccare CinetecaSarda. */
body.ns-3012 .archivio-indice .ai-voci a,
body.ns-3012 .archivio-indice .ai-voci a:visited,
body.ns-3012 .archivio-indice .ai-licenza a,
body.ns-3012 .archivio-indice .ai-licenza a:visited {
color: var( --color-link, var( --color-progressive, #36c ) );
}
body.ns-3012 .archivio-editoriale {
--ns-accent: var( --color-link, var( --color-progressive, #36c ) );
}
/* Testo introduttivo (lead) dei sotto-progetti Dev: colore di DEFAULT di
  Citizen (testo base), non il grigio "subtle" editoriale di CinetecaSarda. */
body.ns-3012 .archivio-editoriale .lead p {
color: var( --color-base, #fff );
}
/* === [DEV] fine === */
/* === [NS-MALASTRADA] inizio === */
/* malastradafilm (ns 3010): identità ACROMATICA (bianco/nero), come il sito
  malastradafilm.com — niente accent colorato (al contrario del giallo
  CinetecaSarda). Link dell'indice grigio tipografico, voce TOC attiva bianca. */
body.ns-3010 .archivio-editoriale {
--ns-accent: var( --color-base, #fff );
}
/* link dell'indice (sia struttura a div .ai-voci, sia elenco puntato .ai-body) */
body.ns-3010 .archivio-indice .ai-body a,
body.ns-3010 .archivio-indice .ai-body a:visited,
body.ns-3010 .archivio-indice .ai-licenza a,
body.ns-3010 .archivio-indice .ai-licenza a:visited {
color: var( --color-base--subtle, #b8b8b8 );
}
/* titoli di sezione del menu (Idee, Opere e azioni, Scritti) nel ROSSO della home */
body.ns-3010 .archivio-indice .ai-body > ul > li {
color: var( --color-link-red, var( --color-destructive, #d33 ) );
}
/* look minimale acromatico: via solo le LINEE del widget (bordo verticale
  sinistro del float e riga sotto «Dashboard»), mantenendo lo stacco dal testo
  — quindi border-left:0 ma padding-left invariato. */
body.ns-3010 .archivio-indice.ai-rail {
border-left: 0;
}
body.ns-3010 .archivio-indice .ai-testata {
border-bottom: 0;
}
/* Dashboard: il titolo Citizen è nascosto (l'headline vive nella testata-template);
  il racconto è scritto come testo nativo della pagina → lo stiliamo come "lead". */
body.page-Malastradafilm_Dashboard #firstHeading,
body.page-Malastradafilm_Dashboard .mw-page-title-main {
display: none !important;
}
body.page-Malastradafilm_Dashboard .mw-parser-output > p {
max-width: 42rem;
font-size: 1.08rem;
line-height: 1.6;
color: var( --color-base--subtle, #b8b8b8 );
}
/* === [NS-MALASTRADA] fine === */
/* === [NS-OPERAFILOSOFICA] inizio === */
/* Opera Filosofica Nomade (ns 3006): stessi colori di malastradafilm —
  ACROMATICO (niente accent colorato), titoli di sezione del menu nel ROSSO
  della home, niente linee nel widget. */
body.ns-3006 .archivio-editoriale {
--ns-accent: var( --color-base, #fff );
}
body.ns-3006 .archivio-indice .ai-body a,
body.ns-3006 .archivio-indice .ai-body a:visited,
body.ns-3006 .archivio-indice .ai-licenza a,
body.ns-3006 .archivio-indice .ai-licenza a:visited {
color: var( --color-base--subtle, #b8b8b8 );
}
body.ns-3006 .archivio-indice .ai-body > ul > li {
color: var( --color-link-red, var( --color-destructive, #d33 ) );
}
body.ns-3006 .archivio-indice.ai-rail {
border-left: 0;
}
body.ns-3006 .archivio-indice .ai-testata {
border-bottom: 0;
}
/* Dashboard: titolo Citizen nascosto (headline nel template), racconto = lead */
body.page-Operafilosoficanomade_Dashboard #firstHeading,
body.page-Operafilosoficanomade_Dashboard .mw-page-title-main {
display: none !important;
}
body.page-Operafilosoficanomade_Dashboard .mw-parser-output > p {
max-width: 42rem;
font-size: 1.08rem;
line-height: 1.6;
color: var( --color-base--subtle, #b8b8b8 );
}
/* === [NS-OPERAFILOSOFICA] fine === */
/* === [TEMI] inizio === */
/* Temi colore del widget indice (classe .tema-<nome> sul widget, scelta
  per-archivio via la pagina <NS>:Tema; default "acromatico"). */
/* acromatico (come malastradafilm/Opera): link grigi, titoli sezione rossi, niente linee */
.archivio-indice.tema-acromatico .ai-body a,
.archivio-indice.tema-acromatico .ai-body a:visited {
color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-indice.tema-acromatico .ai-body > ul > li {
color: var( --color-link-red, var( --color-destructive, #d33 ) );
}
.archivio-indice.tema-acromatico.ai-rail {
border-left: 0;
}
.archivio-indice.tema-acromatico .ai-testata {
border-bottom: 0;
}
/* giallo (come CinetecaSarda): link gialli, titoli sezione grigi */
.archivio-indice.tema-giallo .ai-body a,
.archivio-indice.tema-giallo .ai-body a:visited {
color: #e7b142;
}
.archivio-indice.tema-giallo .ai-body > ul > li {
color: var( --color-base--subtle, #b8b8b8 );
}
/* blu (default Citizen): link blu, titoli sezione grigi */
.archivio-indice.tema-blu .ai-body a,
.archivio-indice.tema-blu .ai-body a:visited {
color: var( --color-link, var( --color-progressive, #36c ) );
}
.archivio-indice.tema-blu .ai-body > ul > li {
color: var( --color-base--subtle, #b8b8b8 );
}
/* === [TEMI] fine === */

Latest revision as of 23:05, 16 June 2026

/* CSS placed here will be applied to all skins */

#footer { display: none; }
/* last modification stuff */
#footer-info { display: none; }

/* footer links */
#footer-places { display: none; }

/* powered by icon */
#footer-icon { display: none; }

.box-stato-archivio .citizen-card__body p{
  margin: 0 0 .75em 0;
}
.box-stato-archivio .citizen-card__body p:last-child{
  margin-bottom: 0;
}

/* === CSS per template IntestazionePagine === */

.namespace-label{
  display:block;
  font-size:0.85em;
  margin-top:-0.3em;
  margin-bottom:0.6em;
}
.namespace-label a,
.namespace-label a:visited{
  color:inherit;
}

/* === [DASH-HERO] inizio === */
/* Dashboard come "articolo di prima pagina": nasconde il titolo standard di
   Citizen (firstHeading), perché l'headline editoriale vive nel contenuto.
   Resta il resto dell'header (nav/strumenti). Page-scoped (due varianti per
   l'escaping del ":"). */

body.page-CinetecaSarda_Dashboard #firstHeading,
body.page-CinetecaSarda-Dashboard #firstHeading,
body.page-CinetecaSarda_Dashboard .mw-first-heading,
body.page-CinetecaSarda-Dashboard .mw-first-heading,
body.page-CinetecaSarda_Dashboard .mw-page-title-main,
body.page-CinetecaSarda-Dashboard .mw-page-title-main {
	display: none !important;
}

/* Spazio per le due colonne (articolo + indice), moderato. */
body.page-CinetecaSarda_Dashboard,
body.page-CinetecaSarda-Dashboard {
	--width-layout: min( 1180px, 94vw );
}
/* === [DASH-HERO] fine === */

/* === [NS-BRAND] inizio === */
/* ==========================================================
   Brand CinetecaSarda (namespace 3004) — vale su TUTTE le pagine
   ========================================================== */

/* Link gialli del brand (dalla testata di cinetecasarda.it) al posto del blu
   di Citizen. I link a pagine mancanti (.new) restano rossi: segnale utile. */
body.ns-3004 .mw-parser-output a:not( .new ),
body.ns-3004 .mw-parser-output a:not( .new ):visited {
	color: #e7b142;
}
body.ns-3004 .mw-parser-output a:not( .new ):hover {
	color: #f1c878;
}

/* Titolo "editoriale leggero" per le pagine di contenuto: occhiello giallo
   sopra, titolo bianco pulito. Sulla Dashboard #firstHeading è nascosto
   (ha il suo hero), quindi questo occhiello lì non compare. */
body.ns-3004 #firstHeading {
	color: #ffffff;
}
body.ns-3004 #firstHeading::before {
	content: "Cineteca Sarda";
	display: block;
	margin-bottom: .35rem;
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #e7b142;
}
/* L'etichetta "in: Cineteca Sarda" è sostituita dall'occhiello */
body.ns-3004 .namespace-label {
	display: none;
}
/* === [NS-BRAND] fine === */

/* === [ARCHIVIO-EDITORIALE] inizio === */
/* Stile editoriale per le Dashboard dei namespace-archivio.
   Layout "articolo di prima pagina": corpo a sinistra, indice a destra,
   come griglia interna al contenuto (niente dipendenza dal rail di Citizen).
   Usa le variabili Citizen. Accent per-archivio via --ns-accent. */

.archivio-editoriale {
	color: var( --color-base, #fff );
	--ns-accent: var( --color-link-red, var( --color-destructive, #d33 ) );
}

/* Cineteca Sarda (ns 3004): accent giallo del brand — dalla testata del logo
   di cinetecasarda.it — al posto del rosso, solo in questo namespace. */
body.ns-3004 .archivio-editoriale {
	--ns-accent: #e7b142;
}

/* Griglia: articolo (1fr) + indice (colonna fissa) */
.archivio-editoriale .art-layout {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) 300px;
	gap: 3.5rem;
	align-items: start;
}
.archivio-editoriale .art-main {
	min-width: 0;
}

/* Occhiello / cappello identitario */
.archivio-editoriale .occhiello {
	margin: 0 0 .7rem;
	font-size: .9rem;
	letter-spacing: .04em;
	color: var( --color-base--subtle, #b8b8b8 );
	opacity: .85;
}

/* Headline da articolo di prima pagina */
.archivio-editoriale .ce-headline {
	margin: 0 0 1.3rem;
	border: 0;
	font-size: clamp( 2.4rem, 4.6vw, 3.6rem );
	line-height: 1.03;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #ffffff;
}

/* Lead: il racconto. Riempie la colonna dell'articolo. */
.archivio-editoriale .lead {
	margin: 0;
	max-width: none;
}
.archivio-editoriale .lead p {
	margin: 0 0 1rem;
	font-size: 1.08rem;
	line-height: 1.6;
	color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-editoriale .lead p:last-child {
	margin-bottom: 0;
}
.archivio-editoriale .lead strong {
	color: var( --color-base, #fff );
	font-weight: 600;
}

/* Riga "Prototipo di consultazione": blocco in evidenza (accent a sinistra) */
.archivio-editoriale .ce-prototipo {
	margin: 1.8rem 0 0;
	padding: .2rem 0 .2rem 1rem;
	border-left: 3px solid var( --ns-accent );
}
.archivio-editoriale .ce-prototipo-eti {
	font-size: .92rem;
	font-weight: 600;
	color: #ffffff;
	margin-bottom: .2rem;
}
.archivio-editoriale .ce-prototipo p {
	margin: 0;
	max-width: 64ch;
	font-size: 1rem;
	line-height: 1.55;
	color: var( --color-base--subtle, #b8b8b8 );
}

/* === Indice nella colonna destra === */
.archivio-editoriale .art-aside {
	min-width: 0;
}
.archivio-editoriale .art-aside-titolo {
	margin: 0 0 .4rem;
	padding-bottom: .55rem;
	border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .14 ) );
	font-size: .76rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-editoriale .idx-sez {
	padding: .7rem 0;
	border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .07 ) );
}
.archivio-editoriale .idx-sez:last-child {
	border-bottom: 0;
}
.archivio-editoriale .idx-eti {
	margin-bottom: .2rem;
	font-size: .98rem;
	font-weight: 600;
	color: #ffffff;
}
.archivio-editoriale .idx-voci {
	font-size: .9rem;
	line-height: 1.5;
	color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-editoriale .idx-voci a,
.archivio-editoriale .idx-voci a:visited {
	color: var( --ns-accent );
	font-weight: 500;
	text-decoration: none;
}
.archivio-editoriale .idx-voci a:hover {
	text-decoration: underline;
}

/* Sotto i 900px: indice sotto l'articolo */
@media ( max-width: 900px ) {
	.archivio-editoriale .art-layout {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}
/* === [ARCHIVIO-EDITORIALE] fine === */

/* === [INDICE] inizio === */
/* ==========================================================
   Indice d'archivio (sorgente unica {{Indice <NS>}}).
   Colonna destra: flottante dove non c'è rail, dentro il rail di Citizen
   (sopra la TOC nativa) dove c'è. Collassabile. Scala font allineata a
   Citizen (--font-size-*) per armonia con la TOC.
   ========================================================== */

.archivio-indice {
	font-size: var( --font-size-small, .875rem );
	line-height: 1.45;
}

/* Variante "rail": colonna destra flottante, sempre visibile (no dipendenza TOC) */
.archivio-indice.ai-rail {
	float: right;
	width: 280px;
	margin: .2rem 0 1.4rem 2rem;
	padding-left: 1.4rem;
	border-left: 1px solid var( --border-color-base, rgba( 255, 255, 255, .12 ) );
}
@media ( max-width: 900px ) {
	.archivio-indice.ai-rail {
		float: none;
		width: auto;
		margin: 0 0 1.6rem;
		padding-left: 0;
		border-left: 0;
	}
}
/* Quando il JS l'ha spostato DENTRO il rail di Citizen (sopra la TOC) */
.archivio-indice.ai-in-rail {
	float: none;
	width: auto;
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

/* Testata = riga header: nome archivio (link Dashboard) + chevron toggle */
.archivio-indice .ai-testata {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .5rem;
	padding-bottom: .45rem;
	border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .16 ) );
	font-size: var( --font-size-x-small, .8125rem );
	text-transform: uppercase;
	letter-spacing: .07em;
}
.archivio-indice .ai-testata a,
.archivio-indice .ai-testata a:visited {
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}
.archivio-indice .ai-testata a:hover {
	color: #e7b142;
}

/* Chevron apri/chiudi */
.archivio-indice .ai-toggle {
	cursor: pointer;
	user-select: none;
	line-height: 1;
	padding: .1rem .25rem;
	color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-indice .ai-toggle::before {
	content: "▾";
	display: inline-block;
	font-size: .9em;
	transition: transform .15s ease;
}
.archivio-indice.ai-collapsed .ai-toggle::before {
	transform: rotate( -90deg );
}
.archivio-indice.ai-collapsed .ai-body {
	display: none;
}
.archivio-indice .ai-toggle:hover {
	color: #ffffff;
}

/* Sezioni curate */
.archivio-indice .ai-sez {
	padding: .5rem 0;
	border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .07 ) );
}
.archivio-indice .ai-body .ai-sez:last-child {
	border-bottom: 0;
}
.archivio-indice .ai-eti {
	margin-bottom: .12rem;
	font-size: var( --font-size-small, .875rem );
	font-weight: 600;
	color: #ffffff;
}
.archivio-indice .ai-voci {
	font-size: var( --font-size-small, .875rem );
	color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-indice .ai-voci a,
.archivio-indice .ai-voci a:visited {
	color: #e7b142;
	font-weight: 500;
	text-decoration: none;
}
.archivio-indice .ai-voci a:hover {
	text-decoration: underline;
}

/* Riga licenza (sempre visibile, anche con indice chiuso) */
.archivio-indice .ai-licenza {
	margin-top: .6rem;
	padding-top: .5rem;
	border-top: 1px solid var( --border-color-base, rgba( 255, 255, 255, .09 ) );
	font-size: var( --font-size-x-small, .8125rem );
	color: var( --color-base--subtle, #b8b8b8 );
	opacity: .85;
}
.archivio-indice .ai-licenza a,
.archivio-indice .ai-licenza a:visited {
	color: #e7b142;
	text-decoration: none;
}
.archivio-indice .ai-licenza a:hover {
	text-decoration: underline;
}

/* Il rail di Citizen ha `contain: strict` → dimensione calcolata senza il
   contenuto + clip dell'eccedenza. Con l'indice in più, chiudendo una sezione
   il rail si accorcia e taglia l'indice. Togliamo size+paint (teniamo
   layout+style) così il rail cresce col contenuto e non clippa. Solo ns 3004. */
body.ns-3004 .citizen-page-sidebar {
	contain: layout style;
}

/* === TOC nativa di Citizen: giallo SOLO sulla voce attiva (orientamento) === */
body.ns-3004 .citizen-toc-list-item--active > a,
body.ns-3004 .citizen-toc-list-item--active > a .citizen-toc-text,
body.ns-3004 .citizen-toc-list-item--active .citizen-toc-link {
	color: #e7b142;
	font-weight: 600;
}

/* Indice a LISTE native (variante editabile come elenco puntato in VE):
   "* sezione" + "** pagina". Stesso look dei blocchi a div .ai-eti/.ai-voci.
   Va nel blocco [INDICE] di Common.css. */
.archivio-indice .ai-body ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.archivio-indice .ai-body > ul > li {
	margin: 0 0 .8rem;
	font-size: .72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-indice .ai-body > ul > li > ul {
	margin: .35rem 0 0;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}
.archivio-indice .ai-body > ul > li > ul > li {
	margin: .12rem 0;
	font-size: .92rem;
	line-height: 1.45;
}
.archivio-indice .ai-body > ul > li > ul a,
.archivio-indice .ai-body > ul > li > ul a:visited {
	color: var( --ns-accent, #e7b142 );
	text-decoration: none;
}
.archivio-indice .ai-body > ul > li > ul a:hover {
	text-decoration: underline;
}

/* link modifica menu */
.archivio-indice .ai-modifica {
	margin-top: .6rem;
	font-size: .76rem;
}
.archivio-indice .ai-modifica a,
.archivio-indice .ai-modifica a:visited {
	color: var( --color-base--subtle, #b8b8b8 );
	text-decoration: none;
}
.archivio-indice .ai-modifica a:hover {
	text-decoration: underline;
}
/* testata cliccabile per intero */
.archivio-indice .ai-testata {
	cursor: pointer;
}
/* === [INDICE] fine === */

/* === [HOME] inizio === */
/* ==========================================================
   HOMEPAGE CINETECA DELL'ETNA
   Pagina di test: Test_home
   ========================================================== */

/* Nasconde titolo standard Citizen solo nella pagina Test_home */

body.page-Test_home .citizen-page-header,
body.page-Test_home .citizen-body-header,
body.page-Test_home .mw-body-header,
body.page-Test_home #firstHeading,
body.page-Test_home .firstHeading,
body.page-Test_home .mw-first-heading,
body.page-Test_home .mw-page-title-main {
  display: none !important;
}

/* Nasconde colonna destra standard Citizen solo nella pagina Test_home */

body.page-Test_home .citizen-page-sidebar,
body.page-Test_home .citizen-toc,
body.page-Test_home .citizen-page-info,
body.page-Test_home .citizen-lastmod,
body.page-Test_home .citizen-page-actions-more,
body.page-Test_home .toc,
body.page-Test_home #toc {
  display: none !important;
}

/* Nasconde informazioni ultima modifica solo nella pagina Test_home */

body.page-Test_home .mw-parser-output .printfooter,
body.page-Test_home .mw-parser-output .catlinks,
body.page-Test_home .mw-parser-output .mw-footer-info,
body.page-Test_home .page-info,
body.page-Test_home .citizen-page-info,
body.page-Test_home .citizen-page-footer,
body.page-Test_home .citizen-body-footer,
body.page-Test_home .mw-body-footer,
body.page-Test_home .mw-last-modified,
body.page-Test_home #footer-info-lastmod {
  display: none !important;
}

/* Allarga lo spazio utile della home dentro Citizen */

body.page-Test_home .citizen-body,
body.page-Test_home .citizen-body-container,
body.page-Test_home .citizen-body-content,
body.page-Test_home .citizen-page-container,
body.page-Test_home .mw-body,
body.page-Test_home .mw-body-content,
body.page-Test_home .mw-parser-output,
body.page-Test_home #bodyContent,
body.page-Test_home #content {
  max-width: none !important;
  width: 100% !important;
}

body.page-Test_home .citizen-body {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Contenitore generale home */

body.page-Test_home .mw-parser-output .ce-home {
  width: min(1300px, calc(100vw - 14rem));
  max-width: none !important;
  min-height: calc(100vh - 7rem);
  margin: 0 auto;
  padding: 2rem 0 2rem;
  box-sizing: border-box;
  overflow-x: hidden;
  transform: none;

  display: flex;
  align-items: center;
}

/* Layout generale: contenuto principale + colonna laterale */

body.page-Test_home .mw-parser-output .ce-home-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 3rem;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.page-Test_home .mw-parser-output .ce-home-main {
  min-width: 0;
}

/* Colonna laterale editoriale */

body.page-Test_home .mw-parser-output .ce-home-aside {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 0;
  border-left: 0;
  padding-left: 2rem;
}

/* Hero: testo a sinistra, foto verticale a destra */

body.page-Test_home .mw-parser-output .ce-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 3rem;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 5rem;
}

body.page-Test_home .mw-parser-output .ce-hero-text {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  align-self: start;
  margin-top: 0;
  padding-top: 0;
}

/* Occhiello / motto identitario */

body.page-Test_home .mw-parser-output .ce-hero-kicker {
  margin-bottom: 1.4rem;
  color: var(--color-base, #ffffff);
  opacity: 0.72;
  font-size: 0.92rem;
  line-height: 1.2;
  font-style: normal;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0.04em;
}

/* Immagine verticale della home: solo foto, nessun box */

body.page-Test_home .mw-parser-output .ce-hero-visual {
  grid-column: 2;
  grid-row: 1;
  width: 300px;
  height: 450px;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: hidden;
}

body.page-Test_home .mw-parser-output .ce-hero-visual > p {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-Test_home .mw-parser-output .ce-hero-visual a,
body.page-Test_home .mw-parser-output .ce-hero-visual span,
body.page-Test_home .mw-parser-output .ce-hero-visual figure,
body.page-Test_home .mw-parser-output .ce-hero-visual .mw-default-size,
body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-description {
  display: block;
  width: 300px !important;
  height: 450px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.page-Test_home .mw-parser-output .ce-hero-visual img,
body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-element,
body.page-Test_home .mw-parser-output .ce-hero-img {
  display: block;
  width: 300px !important;
  height: 450px !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Testo principale hero */

body.page-Test_home .mw-parser-output .ce-hero-text h1 {
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: 0.98;
  margin: 0 0 1.5rem;
  letter-spacing: -0.03em;
}

body.page-Test_home .mw-parser-output .ce-hero-text p {
  font-size: 1.15rem;
  line-height: 1.55;
  max-width: 760px;
  color: var(--color-base--subtle, #b8b8b8);
}

/* Indice editoriale principale: libero, senza box */

body.page-Test_home .mw-parser-output .ce-home-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  width: 100%;
  margin: 0;
  padding-top: 0;
  border: 0;
}

body.page-Test_home .mw-parser-output .ce-index-item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0;
  border: 0;
  background: transparent;
}

body.page-Test_home .mw-parser-output .ce-index-number {
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 0.85rem;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.04em;
}

body.page-Test_home .mw-parser-output .ce-index-title {
  margin-bottom: 0.65rem;
  font-size: 1.45rem;
  line-height: 1.1;
  font-weight: 600;
}

/* Index / Federated Archives Alliance / Contatti: rosso Citizen */

body.page-Test_home .mw-parser-output .ce-index-title,
body.page-Test_home .mw-parser-output .ce-index-title a,
body.page-Test_home .mw-parser-output .ce-index-title a:visited {
  color: var(--color-link-red, var(--color-destructive, #d33)) !important;
  text-decoration: none;
}

body.page-Test_home .mw-parser-output .ce-index-title a:hover {
  color: var(--color-link-red, var(--color-destructive, #d33)) !important;
  text-decoration: underline;
}

body.page-Test_home .mw-parser-output .ce-index-text {
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 1rem;
  line-height: 1.45;
  max-width: 32em;
}

/* Box laterali leggeri, senza delimitazioni */

body.page-Test_home .mw-parser-output .ce-side-box {
  padding: 0;
  border: 0;
  background: transparent;
}

body.page-Test_home .mw-parser-output .ce-side-box::before {
  content: none;
  display: none;
}

body.page-Test_home .mw-parser-output .ce-side-label {
  margin-bottom: 0.6rem;
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Titoli colonna destra: bianchi */

body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title a,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title a:visited {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.1;
  font-weight: 600;
  color: #ffffff !important;
  text-decoration: none !important;
}

body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-title a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

body.page-Test_home .mw-parser-output .ce-side-text {
  color: var(--color-base--subtle, #b8b8b8);
  font-size: 0.95rem;
  line-height: 1.45;
}

body.page-Test_home .mw-parser-output .ce-side-link {
  margin-top: 0.85rem;
  font-size: 0.95rem;
}

/* Link azione colonna destra: bianchi, blu Citizen solo all'hover */

body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link a,
body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link a:visited {
  color: #ffffff !important;
  text-decoration: none !important;
}

body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-link a:hover {
  color: var(--color-progressive, #36c) !important;
  text-decoration: underline !important;
}

/* Footer Citizen visibile e alleggerito solo nella home */

body.page-Test_home #footer {
  display: block !important;
  margin-top: 1.5rem !important;
  padding-top: 0 !important;
  padding-bottom: 1.25rem !important;
  border-top: 0 !important;
  background: transparent !important;
  text-align: center;
  font-size: 0.76rem;
  line-height: 1.3;
  color: var(--color-base--subtle, #b8b8b8) !important;
  opacity: 0.72;
}

body.page-Test_home #footer-info {
  display: block !important;
}

body.page-Test_home #footer-places,
body.page-Test_home #footer-icon,
body.page-Test_home #footer-info-lastmod {
  display: none !important;
}

body.page-Test_home .citizen-footer-tagline,
body.page-Test_home #footer-tagline,
body.page-Test_home #footer .citizen-footer__tagline {
  color: var(--color-base--subtle, #b8b8b8) !important;
  opacity: 0.72;
}

body.page-Test_home #footer a,
body.page-Test_home #footer a:visited {
  color: var(--color-base--subtle, #b8b8b8) !important;
  text-decoration: none !important;
}

body.page-Test_home #footer a:hover {
  color: var(--color-base, #ffffff) !important;
  text-decoration: underline !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

/* Finestra intermedia:
   1. hero ancora a due colonne
   2. indice sotto
   3. colonna informativa sotto l'indice */

@media (max-width: 1250px) {
  body.page-Test_home .mw-parser-output .ce-home {
    width: min(100%, calc(100vw - 4rem));
    min-height: auto;
    margin: 0 auto;
    padding: 2rem 0 3rem;
    display: block;
  }

  body.page-Test_home .mw-parser-output .ce-home-layout {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  body.page-Test_home .mw-parser-output .ce-home-main {
    min-width: 0;
  }

  body.page-Test_home .mw-parser-output .ce-hero {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
    align-items: start;
    margin-bottom: 4.5rem;
  }

  body.page-Test_home .mw-parser-output .ce-hero-text {
    grid-column: 1 / span 2;
    grid-row: 1;
  }

  body.page-Test_home .mw-parser-output .ce-hero-visual {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
  }

  body.page-Test_home .mw-parser-output .ce-home-index {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
  }

  body.page-Test_home .mw-parser-output .ce-home-aside {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
    padding-left: 0;
    border-left: 0;
  }

  body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-box {
    padding-left: 4rem;
  }
}

/* Finestra più stretta:
   hero passa a una colonna, ma ordine resta:
   titolo/testo, foto, indice, blocchi informativi */

@media (max-width: 900px) {
  body.page-Test_home .mw-parser-output .ce-home {
    width: min(100%, calc(100vw - 2rem));
    padding: 1.5rem 0 3rem;
  }

  body.page-Test_home .mw-parser-output .ce-hero {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    margin-bottom: 3.5rem;
  }

  body.page-Test_home .mw-parser-output .ce-hero-text {
    grid-column: 1;
    grid-row: 1;
  }

  body.page-Test_home .mw-parser-output .ce-hero-visual {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    max-width: 300px;
    height: 450px;
  }

  body.page-Test_home .mw-parser-output .ce-hero-visual a,
  body.page-Test_home .mw-parser-output .ce-hero-visual span,
  body.page-Test_home .mw-parser-output .ce-hero-visual figure,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-default-size,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-description,
  body.page-Test_home .mw-parser-output .ce-hero-visual img,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-element,
  body.page-Test_home .mw-parser-output .ce-hero-img {
    width: 300px !important;
    height: 450px !important;
  }

  body.page-Test_home .mw-parser-output .ce-home-index {
    grid-template-columns: 1fr;
    gap: 1.7rem;
  }

  body.page-Test_home .mw-parser-output .ce-index-item {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  body.page-Test_home .mw-parser-output .ce-home-aside {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    border-left: 0;
    padding-left: 0;
    border-top: 0;
    padding-top: 0;
  }

  body.page-Test_home .mw-parser-output .ce-home-aside .ce-side-box {
    padding-left: 0;
  }

  body.page-Test_home .mw-parser-output .ce-hero-text h1 {
    font-size: clamp(2.6rem, 12vw, 4rem);
    line-height: 0.98;
  }

  body.page-Test_home .mw-parser-output .ce-hero-text p {
    font-size: 1.05rem;
  }
}

/* Mobile molto stretto */

@media (max-width: 520px) {
  body.page-Test_home .mw-parser-output .ce-home {
    width: 100%;
    padding: 1rem 0 2.5rem;
  }

  body.page-Test_home .mw-parser-output .ce-hero-text h1 {
    font-size: clamp(2.3rem, 13vw, 3.3rem);
  }

  body.page-Test_home .mw-parser-output .ce-hero-visual,
  body.page-Test_home .mw-parser-output .ce-hero-visual a,
  body.page-Test_home .mw-parser-output .ce-hero-visual span,
  body.page-Test_home .mw-parser-output .ce-hero-visual figure,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-default-size,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-description,
  body.page-Test_home .mw-parser-output .ce-hero-visual img,
  body.page-Test_home .mw-parser-output .ce-hero-visual .mw-file-element,
  body.page-Test_home .mw-parser-output .ce-hero-img {
    width: 260px !important;
    height: 390px !important;
  }
}
/* === [HOME] fine === */

/* === [MAPPA] inizio === */
/* Index — sommario della "rivista". Tipografia editoriale CONDIVISA con home e
   progetti (occhiello / titolo da prima pagina / lead): vedi la "regola
   tipografica" nel README. VE-safe: solo wikitext nativo (liste di definizione
   ; :), nessun div di layout, niente sezioni espandibili. Stile su body.page-Index. */

body.page-Index #bodyContent,
body.page-Index .mw-parser-output {
	max-width: 56rem;
}

/* Titolo della pagina = titolo da prima pagina (come i progetti, .ce-headline) */
body.page-Index #firstHeading {
	font-size: clamp( 2.4rem, 4.6vw, 3.6rem );
	line-height: 1.03;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #ffffff;
}

/* riga d'apertura = lead */
body.page-Index .mw-parser-output > p:first-of-type {
	margin: .4rem 0 2.6rem;
	max-width: 46rem;
	font-size: 1.08rem;
	line-height: 1.6;
	color: var( --color-base--subtle, #b8b8b8 );
}

/* ogni sezione è un blocco di lista di definizione; numerazione continua */
body.page-Index .mw-parser-output {
	counter-reset: sez;
}
body.page-Index .mw-parser-output dl {
	margin: 0 0 2.4rem;
}

/* etichetta di sezione = OCCHIELLO, nel ROSSO della home + numero (richiamo e
   stacco visivo tra le sezioni). */
body.page-Index .mw-parser-output dt {
	counter-increment: sez;
	margin: 0 0 1rem;
	font-size: .9rem;
	font-weight: 500;
	letter-spacing: .04em;
	color: var( --color-link-red, var( --color-destructive, #d33 ) );
}
body.page-Index .mw-parser-output dt::before {
	content: counter( sez, decimal-leading-zero );
	margin-right: .7em;
	font-variant-numeric: tabular-nums;
}

/* voce = titolo da prima pagina (ridotto) + descrizione sotto.
   Ritmo verticale regolare: il titolo è un BLOCCO con un solo margin; la
   descrizione è il testo della dd, con la sua interlinea. */
body.page-Index .mw-parser-output dd {
	margin: 0 0 1.4rem;
	color: var( --color-base--subtle, #b8b8b8 );
	font-size: 1.02rem;
	line-height: 1.55;
}
body.page-Index .mw-parser-output dd:last-child {
	margin-bottom: 0;
}

/* titolo della voce: BIANCO TIPOGRAFICO, mai bluetto */
body.page-Index .mw-parser-output dd b {
	display: block;
	margin: 0 0 .35rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.2;
}
body.page-Index .mw-parser-output dd b a,
body.page-Index .mw-parser-output dd b a:visited {
	color: #ffffff;
	text-decoration: none;
}
body.page-Index .mw-parser-output dd b a:hover {
	text-decoration: underline;
}
/* === [MAPPA] fine === */

/* === [DEV] inizio === */
/* ==========================================================
   Dev — Dashboard "a riquadri per progetto" (pagina centrale).
   Stesso taglio editoriale di CinetecaSarda, ma l'indice è una griglia
   di card (riquadri), non il widget nel rail. Wrapper .dev-dash.
   Colori dei link: default Citizen (nessun override).
   ========================================================== */

.dev-dash {
	color: var( --color-base, #fff );
}

/* Testata editoriale */
.dev-dash .occhiello {
	margin: 0 0 .7rem;
	font-size: var( --font-size-x-small, .8125rem );
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var( --color-base--subtle, #b8b8b8 );
}
.dev-dash .dev-headline {
	margin: 0 0 1rem;
	font-size: clamp( 2.4rem, 4.6vw, 3.6rem );
	line-height: 1.03;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #ffffff;
}
.dev-dash .dev-lead {
	margin: 0 0 .5rem;
	max-width: 64ch;
	font-size: 1.1rem;
	line-height: 1.55;
	color: var( --color-base--subtle, #b8b8b8 );
}

/* Riquadri "a colonne" (masonry): impacchettano senza vuoti verticali */
.dev-dash .dev-griglia {
	columns: 290px;
	column-gap: 1.3rem;
	margin-top: 2rem;
}

/* Riquadro = progetto */
.dev-dash .dev-card {
	break-inside: avoid;
	margin: 0 0 1.3rem;
	padding: 1rem 1.1rem 1.1rem;
	border: 1px solid var( --border-color-base, rgba( 255, 255, 255, .12 ) );
	border-radius: 8px;
	background: rgba( 255, 255, 255, .02 );
}
.dev-dash .dev-card-titolo {
	margin-bottom: .5rem;
	font-size: 1.15rem;
	font-weight: 700;
	color: #ffffff;
}
.dev-dash .dev-card-sub {
	margin: .7rem 0 .2rem;
	font-size: var( --font-size-xx-small, .75rem );
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var( --color-base--subtle, #b8b8b8 );
}
.dev-dash .dev-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.dev-dash .dev-card li {
	padding: .18rem 0;
	line-height: 1.4;
	font-size: .95rem;
}

/* Pagine centrali dei sotto-progetti (editoriale + indice nel rail): nascondi
   il titolo standard di Citizen — l'headline vive nel contenuto (.ce-headline). */
body.page-Dev_Tapescan #firstHeading,
body.page-Dev_Tapescan .mw-page-title-main,
body.page-Dev_TBC #firstHeading,
body.page-Dev_TBC .mw-page-title-main,
body.page-Dev_Robota #firstHeading,
body.page-Dev_Robota .mw-page-title-main {
	display: none !important;
}

/* Dev: link dell'indice e dell'editoriale col colore di DEFAULT di Citizen
   (non il giallo brand di CinetecaSarda, hardcodato in [INDICE]). Specificità
   più alta → vince senza toccare CinetecaSarda. */
body.ns-3012 .archivio-indice .ai-voci a,
body.ns-3012 .archivio-indice .ai-voci a:visited,
body.ns-3012 .archivio-indice .ai-licenza a,
body.ns-3012 .archivio-indice .ai-licenza a:visited {
	color: var( --color-link, var( --color-progressive, #36c ) );
}
body.ns-3012 .archivio-editoriale {
	--ns-accent: var( --color-link, var( --color-progressive, #36c ) );
}

/* Testo introduttivo (lead) dei sotto-progetti Dev: colore di DEFAULT di
   Citizen (testo base), non il grigio "subtle" editoriale di CinetecaSarda. */
body.ns-3012 .archivio-editoriale .lead p {
	color: var( --color-base, #fff );
}
/* === [DEV] fine === */

/* === [NS-MALASTRADA] inizio === */
/* malastradafilm (ns 3010): identità ACROMATICA (bianco/nero), come il sito
   malastradafilm.com — niente accent colorato (al contrario del giallo
   CinetecaSarda). Link dell'indice grigio tipografico, voce TOC attiva bianca. */

body.ns-3010 .archivio-editoriale {
	--ns-accent: var( --color-base, #fff );
}
/* link dell'indice (sia struttura a div .ai-voci, sia elenco puntato .ai-body) */
body.ns-3010 .archivio-indice .ai-body a,
body.ns-3010 .archivio-indice .ai-body a:visited,
body.ns-3010 .archivio-indice .ai-licenza a,
body.ns-3010 .archivio-indice .ai-licenza a:visited {
	color: var( --color-base--subtle, #b8b8b8 );
}
/* titoli di sezione del menu (Idee, Opere e azioni, Scritti) nel ROSSO della home */
body.ns-3010 .archivio-indice .ai-body > ul > li {
	color: var( --color-link-red, var( --color-destructive, #d33 ) );
}

/* look minimale acromatico: via solo le LINEE del widget (bordo verticale
   sinistro del float e riga sotto «Dashboard»), mantenendo lo stacco dal testo
   — quindi border-left:0 ma padding-left invariato. */
body.ns-3010 .archivio-indice.ai-rail {
	border-left: 0;
}
body.ns-3010 .archivio-indice .ai-testata {
	border-bottom: 0;
}

/* Dashboard: il titolo Citizen è nascosto (l'headline vive nella testata-template);
   il racconto è scritto come testo nativo della pagina → lo stiliamo come "lead". */
body.page-Malastradafilm_Dashboard #firstHeading,
body.page-Malastradafilm_Dashboard .mw-page-title-main {
	display: none !important;
}
body.page-Malastradafilm_Dashboard .mw-parser-output > p {
	max-width: 42rem;
	font-size: 1.08rem;
	line-height: 1.6;
	color: var( --color-base--subtle, #b8b8b8 );
}
/* === [NS-MALASTRADA] fine === */

/* === [NS-OPERAFILOSOFICA] inizio === */
/* Opera Filosofica Nomade (ns 3006): stessi colori di malastradafilm —
   ACROMATICO (niente accent colorato), titoli di sezione del menu nel ROSSO
   della home, niente linee nel widget. */
body.ns-3006 .archivio-editoriale {
	--ns-accent: var( --color-base, #fff );
}
body.ns-3006 .archivio-indice .ai-body a,
body.ns-3006 .archivio-indice .ai-body a:visited,
body.ns-3006 .archivio-indice .ai-licenza a,
body.ns-3006 .archivio-indice .ai-licenza a:visited {
	color: var( --color-base--subtle, #b8b8b8 );
}
body.ns-3006 .archivio-indice .ai-body > ul > li {
	color: var( --color-link-red, var( --color-destructive, #d33 ) );
}
body.ns-3006 .archivio-indice.ai-rail {
	border-left: 0;
}
body.ns-3006 .archivio-indice .ai-testata {
	border-bottom: 0;
}
/* Dashboard: titolo Citizen nascosto (headline nel template), racconto = lead */
body.page-Operafilosoficanomade_Dashboard #firstHeading,
body.page-Operafilosoficanomade_Dashboard .mw-page-title-main {
	display: none !important;
}
body.page-Operafilosoficanomade_Dashboard .mw-parser-output > p {
	max-width: 42rem;
	font-size: 1.08rem;
	line-height: 1.6;
	color: var( --color-base--subtle, #b8b8b8 );
}
/* === [NS-OPERAFILOSOFICA] fine === */

/* === [TEMI] inizio === */
/* Temi colore del widget indice (classe .tema-<nome> sul widget, scelta
   per-archivio via la pagina <NS>:Tema; default "acromatico"). */

/* acromatico (come malastradafilm/Opera): link grigi, titoli sezione rossi, niente linee */
.archivio-indice.tema-acromatico .ai-body a,
.archivio-indice.tema-acromatico .ai-body a:visited {
	color: var( --color-base--subtle, #b8b8b8 );
}
.archivio-indice.tema-acromatico .ai-body > ul > li {
	color: var( --color-link-red, var( --color-destructive, #d33 ) );
}
.archivio-indice.tema-acromatico.ai-rail {
	border-left: 0;
}
.archivio-indice.tema-acromatico .ai-testata {
	border-bottom: 0;
}

/* giallo (come CinetecaSarda): link gialli, titoli sezione grigi */
.archivio-indice.tema-giallo .ai-body a,
.archivio-indice.tema-giallo .ai-body a:visited {
	color: #e7b142;
}
.archivio-indice.tema-giallo .ai-body > ul > li {
	color: var( --color-base--subtle, #b8b8b8 );
}

/* blu (default Citizen): link blu, titoli sezione grigi */
.archivio-indice.tema-blu .ai-body a,
.archivio-indice.tema-blu .ai-body a:visited {
	color: var( --color-link, var( --color-progressive, #36c ) );
}
.archivio-indice.tema-blu .ai-body > ul > li {
	color: var( --color-base--subtle, #b8b8b8 );
}
/* === [TEMI] fine === */