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 toggle indice collassabile
Fix taglio indice: rimuove size+paint dal containment del rail (ns 3004)
(2 intermediate revisions by the same user not shown)
Line 210: Line 210:
/* ==========================================================
/* ==========================================================
   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 237:
}
}
}
}
 
/* 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 246:
}
}


/* 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 266: Line 269:
}
}


/* Toggle "Indice" (apri/chiudi le sezioni; la testata resta sempre visibile) */
/* Chevron apri/chiudi */
.archivio-indice .ai-toggle {
.archivio-indice .ai-toggle {
display: flex;
align-items: center;
gap: .45rem;
margin: .55rem 0 .15rem;
cursor: pointer;
cursor: pointer;
user-select: none;
user-select: none;
font-size: .74rem;
line-height: 1;
text-transform: uppercase;
padding: .1rem .25rem;
letter-spacing: .08em;
color: var( --color-base--subtle, #b8b8b8 );
color: var( --color-base--subtle, #b8b8b8 );
}
}
.archivio-indice .ai-toggle::before {
.archivio-indice .ai-toggle::before {
content: "▾";
content: "▾";
font-size: .8em;
display: inline-block;
font-size: .9em;
transition: transform .15s ease;
transition: transform .15s ease;
}
}
Line 298: Line 297:
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 318: Line 321:
}
}


/* Catch-all "Tutte le pagine": compatto */
/* Il rail di Citizen ha `contain: strict` → dimensione calcolata senza il
.archivio-indice .ai-altre {
  contenuto + clip dell'eccedenza. Con l'indice in più, chiudendo una sezione
padding-top: .55rem;
  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 {
 
margin-top: .3rem;
/* === TOC nativa di Citizen: giallo SOLO sulla voce attiva (orientamento) === */
font-size: .82rem;
body.ns-3004 .citizen-toc-list-item--active > a,
}
body.ns-3004 .citizen-toc-list-item--active > a .citizen-toc-text,
.archivio-indice .ai-voci-auto table,
body.ns-3004 .citizen-toc-list-item--active .citizen-toc-link {
.archivio-indice .ai-voci-auto .mw-prefixindex-list-table {
width: 100%;
display: block;
}
.archivio-indice .ai-voci-auto td,
.archivio-indice .ai-voci-auto .mw-prefixindex-list {
display: block;
width: auto !important;
}
.archivio-indice .ai-voci-auto a {
color: #e7b142;
color: #e7b142;
text-decoration: none;
font-weight: 600;
}
.archivio-indice .ai-voci-auto a:hover {
text-decoration: underline;
}
}
/* === [INDICE] fine === */
/* === [INDICE] fine === */

Revision as of 20:58, 15 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;
}

/* === [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;
}

/* === 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 === */

/* === [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 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;
}

/* 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 === */