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
Indice rail flottante sempre visibile
Dev: riquadri a colonne (masonry), niente linea rossa, link default
 
(8 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 236: Line 256:
border-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 = 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 255: 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 261: 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 281: 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] 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 — la mappa della costellazione (pagina di navigazione)
  Wrapper .ce-mappa. Brand Fondazione (accent rosso, come la home).
  ========================================================== */
.ce-mappa {
max-width: 72ch;
margin: 0 auto;
padding: 1.5rem 0 3rem;
}
.ce-mappa-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 );
}
.ce-mappa-titolo {
margin: 0 0 1.1rem;
font-size: clamp( 2.2rem, 4.2vw, 3.2rem );
line-height: 1.04;
font-weight: 700;
letter-spacing: -.02em;
color: #ffffff;
}
.ce-mappa-lead {
margin: 0 0 1rem;
max-width: 60ch;
font-size: 1.1rem;
line-height: 1.55;
color: var( --color-base--subtle, #b8b8b8 );
}
.ce-mappa-sez {
margin-top: 2.4rem;
}
.ce-mappa-eti {
margin-bottom: .4rem;
padding-bottom: .4rem;
border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .14 ) );
font-size: var( --font-size-x-small, .8125rem );
text-transform: uppercase;
letter-spacing: .08em;
color: var( --color-base--subtle, #b8b8b8 );
}
.ce-mappa-voce {
padding: .7rem 0;
border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .06 ) );
line-height: 1.5;
}
.ce-mappa-voce:last-child {
border-bottom: 0;
}
.ce-mappa-nome a,
.ce-mappa-nome a:visited {
font-size: 1.15rem;
font-weight: 600;
color: var( --color-link-red, var( --color-destructive, #d33 ) );
text-decoration: none;
text-decoration: none;
}
}
.archivio-indice .ai-voci-auto a:hover {
.ce-mappa-nome a:hover {
text-decoration: underline;
text-decoration: underline;
}
}
/* === [INDICE] fine === */
.ce-mappa-desc {
color: var( --color-base--subtle, #b8b8b8 );
}
/* === [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;
}
/* === [DEV] fine === */

Latest revision as of 07:23, 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] 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 — la mappa della costellazione (pagina di navigazione)
   Wrapper .ce-mappa. Brand Fondazione (accent rosso, come la home).
   ========================================================== */

.ce-mappa {
	max-width: 72ch;
	margin: 0 auto;
	padding: 1.5rem 0 3rem;
}

.ce-mappa-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 );
}

.ce-mappa-titolo {
	margin: 0 0 1.1rem;
	font-size: clamp( 2.2rem, 4.2vw, 3.2rem );
	line-height: 1.04;
	font-weight: 700;
	letter-spacing: -.02em;
	color: #ffffff;
}

.ce-mappa-lead {
	margin: 0 0 1rem;
	max-width: 60ch;
	font-size: 1.1rem;
	line-height: 1.55;
	color: var( --color-base--subtle, #b8b8b8 );
}

.ce-mappa-sez {
	margin-top: 2.4rem;
}
.ce-mappa-eti {
	margin-bottom: .4rem;
	padding-bottom: .4rem;
	border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .14 ) );
	font-size: var( --font-size-x-small, .8125rem );
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var( --color-base--subtle, #b8b8b8 );
}

.ce-mappa-voce {
	padding: .7rem 0;
	border-bottom: 1px solid var( --border-color-base, rgba( 255, 255, 255, .06 ) );
	line-height: 1.5;
}
.ce-mappa-voce:last-child {
	border-bottom: 0;
}
.ce-mappa-nome a,
.ce-mappa-nome a:visited {
	font-size: 1.15rem;
	font-weight: 600;
	color: var( --color-link-red, var( --color-destructive, #d33 ) );
	text-decoration: none;
}
.ce-mappa-nome a:hover {
	text-decoration: underline;
}
.ce-mappa-desc {
	color: var( --color-base--subtle, #b8b8b8 );
}
/* === [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;
}
/* === [DEV] fine === */