/*
Theme Name: Corale Santa Grania
Theme URI: https://www.coralesantagrania.it
Description: Tema figlio di Astra per il sito della Corale Santa Grania, Parrocchia di Santo Stefano a Capraia Fiorentina.
Author: Corale Santa Grania
Template: astra
Version: 1.9.6
License: GNU General Public License v2 or later
Text Domain: corale-santa-grania
*/


/* =========================================================================
   ATTENZIONE
   Colori e caratteri vanno impostati nel Personalizza (vedi LEGGIMI.md).
   Questo file contiene solo ciò che il Personalizza non sa fare.
   Non ridefinire qui i colori globali: avresti due fonti di verità
   e prima o poi si contraddicono.
   ========================================================================= */


:root {
	--csg-avorio: #FAF6EF;
	--csg-avorio-caldo: #F3EDE2;
	--csg-ocra: #B5820A;
	--csg-ocra-scuro: #8F6708;
	--csg-bruno: #2E2419;
	--csg-bruno-chiaro: #3A2E1E;
	--csg-testo: #332A20;
	--csg-testo-secondario: #6B6154;
	--csg-testo-tenue: #8A7C6A;
	--csg-bordo: #E0D5C2;
	--csg-crema: #E9D6B2;
}


/* 1. Etichette maiuscole ocra.
   Assegna la classe "etichetta" a un blocco Paragrafo dalle impostazioni
   avanzate del blocco. Sostituisce l'uso improprio dei titoli H5/H6. */

.etichetta {
	font-family: "EB Garamond", Garamond, Georgia, serif;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	line-height: 1.4;
	color: var(--csg-ocra);
	margin-bottom: 0.6rem;
}

.etichetta-tenue {
	color: var(--csg-testo-tenue);
}

.etichetta-chiara {
	color: var(--csg-crema);
}


/* 2. Menu: voci su una riga sola. Il passaggio all'hamburger è gestito dal
   breakpoint reale di Astra (filtro astra_tablet_breakpoint in functions.php,
   impostato a 1180px), non più via CSS. */

.main-header-menu .menu-item > a {
	white-space: nowrap;
}


/* 3. Fascia hero.
   L'immagine va impostata come sfondo della sezione dal Personalizza
   o dal blocco Copertina; qui c'è solo la velatura che rende
   leggibile il testo sopra la foto. */

.hero-corale {
	position: relative;
	min-height: 62vh;
	display: flex;
	align-items: center;
}

.hero-corale::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(36, 28, 18, 0.82) 0%, rgba(36, 28, 18, 0.55) 45%, rgba(36, 28, 18, 0.25) 100%);
	pointer-events: none;
}

.hero-corale > * {
	position: relative;
	z-index: 1;
}

.hero-corale h1 {
	font-weight: 300;
	line-height: 1.08;
	color: #fff;
}


/* 4. Filetto ornamentale sotto il titolo hero.
   Quando avrai gli SVG dei simboli del logo (colomba, tralcio, stella),
   sostituisci questo tratto con uno di quelli. */

.filetto-ornamento::after {
	content: "";
	display: block;
	width: 70px;
	height: 1px;
	margin: 1.25rem 0;
	background-color: var(--csg-ocra);
}


/* 5. Loghi. Sostituisci i PNG con gli SVG appena li hai dal grafico. */

.custom-logo-link img {
	max-height: 80px;
	width: auto;
}

.footer-logo img {
	width: 150px;
	height: auto;
}

@media (max-width: 600px) {

	.custom-logo-link img {
		max-height: 40px;
	}
}


/* 6. Riquadri e schede */

.riquadro-corale {
	background-color: var(--csg-avorio-caldo);
	padding: 2.4rem 1.6rem;
	text-align: center;
	height: 100%;
}

.riquadro-corale h3 {
	font-weight: 500;
	margin-bottom: 0.6rem;
}


/* 7. Data degli appuntamenti, nel riquadro squadrato */

.data-evento {
	border: 1px solid var(--csg-bordo);
	padding: 0.5rem 0.7rem;
	text-align: center;
	min-width: 62px;
	line-height: 1.1;
}

.data-evento .giorno {
	font-family: "Cormorant Garamond", Garamond, serif;
	font-size: 28px;
	color: var(--csg-testo);
	display: block;
}

.data-evento .mese {
	font-family: "EB Garamond", Garamond, serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--csg-ocra);
	display: block;
}


/* 8. Galleria: trattamento uniforme delle immagini.
   Le foto arrivano da fotografi e telefoni diversi; senza questo
   la striscia sembra un collage. Se le tue foto sono già coerenti,
   cancella queste tre righe: è una pezza, non un miglioramento. */

.galleria-corale img {
	filter: saturate(0.92) sepia(0.06);
	aspect-ratio: 4 / 3;
	object-fit: cover;
}


/* 9. Angoli vivi ovunque: è un tratto del progetto grafico. */

.ast-button,
.wp-block-button__link,
input[type="submit"],
.ast-search-menu-icon .search-field {
	border-radius: 2px;
	font-family: "EB Garamond", Garamond, serif;
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.13em;
}


/* 10. Messa a fuoco visibile da tastiera e rispetto del movimento ridotto.
    Non toglierli: sono il minimo di accessibilità. */

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid var(--csg-ocra);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}


/* ==========================================================================
   ==========================================================================
   DA QUI IN POI: regole provenienti dal Personalizza > CSS aggiuntivo,
   consolidate nel tema figlio il 4 settembre 2026.
   ==========================================================================
   ========================================================================== */

/* ==========================================================================
   CORALE SANTA GRANIA — CSS personalizzato
   Personalizzazioni che non si possono fare dal Personalizza di Astra.
   Organizzato per zone: LOGO, MENU, HOME, EVENTI, NOTIZIE.
   Una sola regola per elemento: se qualcosa non cambia, cerca QUI, non altrove.
   ========================================================================== */


/* ==========================================================================
   1. LOGO
   ========================================================================== */

/* Dimensione senza schiacciarlo. La larghezza vera si regola dal
   Personalizza > Header > Logo; qui si limita solo l'altezza. */
.custom-logo-link img,
.site-logo-img img {
	max-height: 80px;
	width: auto !important;
	height: auto !important;
	max-width: none !important;
	object-fit: contain;
}
@media (max-width: 600px) {
	.custom-logo-link img { max-height: 44px; }
}


/* ==========================================================================
   2. MENU
   ========================================================================== */

/* Voce "Area coristi" staccata, con lucchetto ocra.
   La classe "voce-riservata" va messa sulla voce di menu (Aspetto > Menu).
   Per marcare di più il filetto, usa #C9B896 al posto di #E0D5C2. */
/*.voce-riservata {
	margin-left: 0.5rem;
	padding-left: 0.8rem;
	border-left: 1px solid #E0D5C2;
}*/
.voce-riservata a::before {
	content: "";
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	margin-right: 0.4rem;
	vertical-align: -0.11em;
	background: url("/wp-content/themes/astra-child/assets/lucchetto.svg") center/contain no-repeat;
}

/* Colore dell'hamburger (menu mobile). Per il bruno scuro usa #332A20. */
.ast-mobile-menu-trigger-minimal,
.ast-mobile-menu-trigger-minimal .ast-mobile-svg {
	color: #B5820A !important;
	fill: #B5820A !important;
}
/* --- MENU: sottomenu a discesa — SOLO DESKTOP --- */
@media (min-width: 1181px) {
	.main-header-menu .sub-menu,
	.ast-desktop .main-header-menu .sub-menu {
		background-color: #FAF6EF !important;
		border: 1px solid #E0D5C2 !important;
		border-radius: 2px !important;
		box-shadow: 0 6px 20px rgba(46, 36, 25, 0.08) !important;
		padding: 0.7rem 0 !important;
		min-width: 260px !important;
		margin-top: 0.6rem !important;
	}
	.main-header-menu .sub-menu .menu-item a {
		font-family: "EB Garamond", Garamond, serif !important;
		text-transform: uppercase !important;
		letter-spacing: 0.1em !important;
		font-size: 0.82rem !important;
		color: #6B6154 !important;
		padding: 0.85rem 1.8rem !important;
	}
	.main-header-menu .sub-menu .menu-item a:hover {
		background-color: #F3EDE2 !important;
		color: #B5820A !important;
	}
}

/* Voci del sottomenu */
.main-header-menu .sub-menu .menu-item a {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	font-size: 0.82rem !important;
	color: #6B6154 !important;
	padding: 0.85rem 1.8rem !important;
}

/* Voce del sottomenu al passaggio del mouse */
.main-header-menu .sub-menu .menu-item a:hover {
	background-color: #F3EDE2 !important;
	color: #B5820A !important;
}

/* ==========================================================================
   3. HOME
   ========================================================================== */

/* Spazio verticale di tutte le sezioni (padding sopra/sotto dei blocchi).
   Abbassa i due valori insieme per avvicinare le sezioni (es. 25px). */
:root {
	--wp--custom--ast-default-block-top-padding: 50px;
	--wp--custom--ast-default-block-bottom-padding: 50px;
}

/* Riquadri Repertorio / Unisciti a noi / Invita la Corale.
   La classe "riquadro-corale" va messa su ogni singola Colonna. */
.riquadro-corale {
	background-color: #F3EDE2;
	padding: 2.4rem 1.8rem;
	text-align: center;
	height: 100%;
	border-radius: 2px;
}

/* Asterischi ocra nel claim dell'hero (Musica * Liturgia * Comunità). */
.asterisco-ocra {
	color: #B5820A !important;
}


/* ==========================================================================
   4. EVENTI IN HOME  (plugin The Events Calendar, classi tribe-)
   Se un aggiornamento del plugin scombina qualcosa, è questa la zona da rivedere.
   ========================================================================== */

/* Titolo dell'evento in Cormorant. */
.tribe-events-widget-events-list__event-title,
.tribe-events-widget-events-list__event-title a {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-weight: 500 !important;
	font-size: 1.25rem !important;
	color: #332A20 !important;
	text-decoration: none !important;
	line-height: 1.15 !important;
	margin-left: 0.4rem !important
}

/* Riquadrino della data: bordo, mese in ocra, giorno grande in Cormorant. */
.tribe-events-widget-events-list__event-date-tag {
	border: 1px solid #B5820A !important;
	border-radius: 2px !important;
	width: 3.6rem !important;
	height: 3.6rem !important;
	padding: 0 !important;
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-month {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	font-size: 0.7rem !important;
	color: #B5820A !important;
	margin: 0 !important;
	line-height: 1.1 !important;
}
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-daynum {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-size: 1.6rem !important;
	font-weight: 400 !important;
	color: #332A20 !important;
	line-height: 1 !important;
	margin: 0 !important;
}

/* Orario e dettagli in tono tenue. */
.tribe-events-widget-events-list__event-datetime {
	font-family: "Lato", sans-serif !important;
	font-size: 0.8rem !important;
	color: #8A7C6A !important;
}
.tribe-events-widget-events-list__event-date-tag-datetime {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tribe-events-widget-events-list__event-row {
	padding-bottom: 1rem !important;
	margin-bottom: 1rem !important;
	border-bottom: 1px solid #E0D5C2 !important;
}

/* Link "Vedi Calendario" in ocra. */
.tribe-events-widget-events-list__view-more-link,
.tribe-events-widget-events-list a {
	color: #B5820A !important;
}

/* Nasconde il sotto-titolo ridondante del widget ("Eventi in programma"),
   dato che sopra c'è già il titolo di sezione. */
.tribe-events-widget-events-list__header-title {
	display: none;
}

/* Stacca l'orario dal riquadro della data */
.tribe-events-widget-events-list__event-datetime {
	margin-left: 0.8rem !important;
}
/* --- EVENTI: luogo sotto il titolo --- */
.csg-event-venue {
	font-family: "Lato", sans-serif !important;
	font-size: 0.8rem !important;
	color: #8A7C6A !important;
	margin-top: 0.2rem !important;
	line-height: 1.3 !important;
	margin-left: 0.8rem !important
}
/* --- EVENTI: "Vedi Calendario" in EB Garamond maiuscolo, come le etichette --- */
.tribe-events-widget-events-list__view-more-link,
.tribe-events-widget-events-list__view-more a {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	font-size: 0.8rem !important;
}
/* --- EVENTI: tutti i link ocra, sottolineatura ocra solo al passaggio --- */
.tribe-events-widget-events-list a,
.tribe-events-widget-events-list a:link,
.tribe-events-widget-events-list a:visited {
	color: #B5820A !important;
	text-decoration: none !important;
}
.tribe-events-widget-events-list a:hover {
	color: #8F6708 !important;
	text-decoration: none !important;
	border-bottom: none !important;
}
/* --- EVENTI: allineamento del titolo su piu' righe.
   Il plugin scrive il titolo su una riga a se' nel codice HTML: il browser
   converte quel ritorno a capo in uno spazio all'inizio della prima riga,
   che sfalsa l'allineamento rispetto a orario e luogo. Rendendo il link
   un elemento di blocco lo spazio sparisce. --- */
.tribe-events-widget-events-list__event-title,
.tribe-events-widget-events-list__event-title a,
.tribe-events-widget-events-list__event-datetime,
.csg-event-venue {
	text-indent: 0 !important;
	padding-left: 0 !important;
	white-space: normal !important;
}

.tribe-events-widget-events-list__event-title a {
	display: block;
}

/* --- EVENTI: elimina la sottolineatura del titolo al passaggio del mouse.
   Il plugin usa la classe "tribe-common-anchor-thin", che disegna la linea
   come bordo, ombra o sottolineatura a seconda della versione: qui vengono
   annullate tutte e tre. --- */
.tribe-events-widget-events-list a.tribe-common-anchor-thin,
.tribe-events-widget-events-list a.tribe-common-anchor-thin:hover,
.tribe-events-widget-events-list a.tribe-common-anchor-thin:focus,
.tribe-events-widget-events-list a.tribe-common-anchor-thin:active,
.tribe-common a.tribe-common-anchor-thin:hover,
.tribe-common a.tribe-common-anchor-thin:focus,
.tribe-events-widget-events-list__event-title a:hover,
.tribe-events-widget-events-list__event-title a:focus {
	border-bottom: 0 !important;
	border-bottom-color: transparent !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* --- EVENTI su mobile: tutto allineato a sinistra --- */
@media (max-width: 768px) {
	.tribe-events-widget-events-list__event-details,
	.tribe-events-widget-events-list__event-wrapper,
	.tribe-events-widget-events-list__event-header,
	.tribe-events-widget-events-list__event-datetime-wrapper,
	.tribe-events-widget-events-list__event-datetime,
	.tribe-events-widget-events-list__event-title,
	.tribe-events-widget-events-list__event-title a,
	.csg-event-venue {
		text-align: left !important;
		margin-left: 0 !important;
		justify-content: flex-start !important;
	}
}
@media (max-width: 768px) {
	.tribe-events-widget-events-list__event-wrapper {
		padding-left: 1rem !important;
	}
 }
/* ==========================================================================                                                                    +
/* ==========================================================================
   5. NOTIZIE IN HOME  (blocco Ultimi articoli, classi wp-block-latest-posts)
   ========================================================================== */

/* Titolo in Cormorant, coerente con gli eventi. */
.wp-block-latest-posts__post-title {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-weight: 500 !important;
	font-size: 1.25rem !important;
	color: #B5820A !important;
	text-decoration: none !important;
	line-height: 1.15 !important;
}

/* Data in ocra maiuscolo, come le etichette del sito. */
.wp-block-latest-posts__post-date {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	font-size: 0.72rem !important;
	color: #B5820A !important;
}

/* Estratto in tono tenue, righe un po' più strette. */
.wp-block-latest-posts__post-excerpt {
	font-family: "Lato", sans-serif !important;
	font-size: 0.85rem !important;
	color: #6B6154 !important;
	line-height: 1.4 !important;
}

/* Immagine rettangolare tipo cartolina, stesso trattamento caldo della galleria.
   Le proporzioni si regolano con width/height (ritaglia, non deforma). */
.wp-block-latest-posts__featured-image img {
	width: 150px !important;
	height: 120px !important;
	object-fit: cover !important;
	border-radius: 2px;
	filter: saturate(0.92) sepia(0.06);
}

/* Avvicina i tre elementi di testo tra loro (titolo, data, estratto).
   NON tocca l'immagine, così resta allineata al filetto. */
.wp-block-latest-posts__post-title,
.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-excerpt {
	margin-top: 4px !important;
	margin-bottom: 4px !important;
}

/* Filetto tra una notizia e l'altra, staccato dal contenuto. */
.wp-block-latest-posts__list li {
	padding-bottom: 2rem !important;
	margin-bottom: 1rem;
	border-bottom: 1px solid #E0D5C2;
}
/* NOTIZIE: allinea le immagini al bordo sinistro, come il titolo */
.wp-block-latest-posts__list {
	margin-left: 0 !important;
	padding-left: 0 !important;
	list-style: none !important;
}
.wp-block-latest-posts__list li {
	margin-left: 0 !important;
	padding-left: 0 !important;
	align-items: center !important;
}

/* --- EVENTI: quadrato data centrato verticalmente rispetto al testo --- */
.tribe-events-widget-events-list__event-row {
	align-items: center !important;
}
/* --- NOTIZIE: titolo evidenziato al passaggio del mouse --- */
.wp-block-latest-posts__post-title:hover,
.wp-block-latest-posts__post-title a:hover {
	color: #8F6708 !important;
	text-decoration: none !important;
}
/* --- MENU MOBILE (hamburger): stesso font del principale --- */
@media (max-width: 1180px) {
	.ast-mobile-header-wrap .main-header-menu a,
	.ast-hfb-mobile-menu a,
	#ast-mobile-header .menu-item a,
	.ast-builder-menu-mobile .menu-item a {
		font-family: "EB Garamond", Garamond, serif !important;
		text-transform: uppercase !important;
		letter-spacing: 0.1em !important;
	}
}

/* ==========================================================================
   MODULO CONTATTI (Fluent Forms)
   ========================================================================== */

/* Etichette dei campi: EB Garamond, più definite */
.fluentform .ff-el-input--label label {
	font-family: "EB Garamond", Garamond, serif !important;
	color: #332A20 !important;
	font-size: 0.95rem !important;
	letter-spacing: 0.03em !important;
}

/* Campi di input, textarea e menu: angoli vivi, bordo beige, font Lato */
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform textarea,
.fluentform select {
	font-family: "Lato", sans-serif !important;
	border: 1px solid #E0D5C2 !important;
	border-radius: 2px !important;
	background: #fff !important;
	color: #332A20 !important;
	padding: 0.7rem 0.9rem !important;
}

/* Campo attivo: bordo ocra */
.fluentform input:focus,
.fluentform textarea:focus,
.fluentform select:focus {
	border-color: #B5820A !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Pulsante Invia: ocra, maiuscolo, angoli vivi */
.fluentform .ff-btn-submit {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	background: #B5820A !important;
	color: #fff !important;
	border: none !important;
	border-radius: 2px !important;
	padding: 0.8rem 2rem !important;
	font-size: 0.9rem !important;
	transition: background 0.15s !important;
}
.fluentform .ff-btn-submit:hover {
	background: #8F6708 !important;
}

/* Asterischi obbligatori in ocra */
.fluentform .ff-el-is-required .ff-el-input--label label:after,
.fluentform .ff-el-is-required label:after {
	color: #B5820A !important;
}

/* ==========================================================================
   PAGINA EVENTI COMPLETA (The Events Calendar — vista lista/mese)
   ========================================================================== */

/* Tutto il testo del calendario in Lato */
.tribe-events,
.tribe-events *,
.tribe-common,
.tribe-common * {
	font-family: "Lato", sans-serif !important;
}

/* Riquadro data in stile ocra (vista lista), come nel widget in home:
   bordo ocra, "Dom" piccolo in ocra, "27" grande in Cormorant. */
.tribe-events .tribe-events-calendar-list__event-date-tag {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	border: 1px solid #B5820A !important;
	border-radius: 2px !important;
	width: 3.6rem !important;
	height: 3.6rem !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	font-size: 0.7rem !important;
	color: #B5820A !important;
	margin: 0 !important;
	line-height: 1.1 !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-size: 1.6rem !important;
	font-weight: 400 !important;
	color: #332A20 !important;
	line-height: 1 !important;
	margin: 0 !important;
}

/* Niente sottolineatura sul titolo al passaggio del mouse (vista lista).
   Il plugin usa "tribe-common-anchor-thin", che disegna la linea come
   bordo/ombra/sottolineatura a seconda della versione: annullate tutte. */
.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events .tribe-events-calendar-list__event-title a:hover,
.tribe-events .tribe-events-calendar-list__event-title a:focus,
.tribe-events a.tribe-common-anchor-thin,
.tribe-events a.tribe-common-anchor-thin:hover,
.tribe-events a.tribe-common-anchor-thin:focus {
	border-bottom: 0 !important;
	border-bottom-color: transparent !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* Titoli degli eventi in Cormorant ocra, senza sottolineatura
   (dopo la regola Lato, così vince su di essa) */
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events h3.tribe-events-calendar-list__event-title {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-weight: 500 !important;
	color: #B5820A !important;
	text-decoration: none !important;
}
.tribe-events .tribe-events-calendar-list__event-title a:hover {
	color: #8F6708 !important;
	text-decoration: none !important;
	border-bottom: none !important;
}

/* Link e orari del calendario in ocra */
.tribe-events a,
.tribe-events .tribe-events-calendar-list__event-datetime {
	color: #B5820A !important;
}

/* Pulsanti (Cerca eventi + Aggiungi al calendario) nello stile del sito */
.tribe-events .tribe-common-c-btn,
.tribe-events button[type="submit"],
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events a.tribe-events-c-subscribe-dropdown__button,
.tribe-common .tribe-common-c-btn {
	background-color: #B5820A !important;
	border: none !important;
	border-radius: 2px !important;
	color: #fff !important;
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	font-weight: 500 !important;
}
.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-common .tribe-common-c-btn:hover {
	background-color: #8F6708 !important;
}

/* --- DIDASCALIE delle immagini: distinte dai paragrafi --- */
figcaption,
.wp-element-caption,
.wp-block-image figcaption {
	font-family: "Lato", sans-serif !important;
	font-size: 0.82rem !important;
	font-style: italic !important;
	color: #9A8E7C !important;
	line-height: 1.5 !important;
	text-align: center !important;
	margin-top: 0.7rem !important;
	letter-spacing: 0.01em !important;
}
/* ===== EVENTI - Titolo "Prossimi eventi" ===== */

.tribe-events-c-top-bar__datepicker-button.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-top-bar__datepicker-button .tribe-events-c-top-bar__datepicker-time,
.tribe-events-c-top-bar__datepicker-button span {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 400 !important;
    color: #2E2419 !important;
    font-size: 28px !important;
}
/* ==========================================================================
   PAGINA DETTAGLIO SINGOLO EVENTO (The Events Calendar)
   ========================================================================== */

/* Titolo dell'evento in Cormorant ocra */
.tribe-events-single .tribe-events-single-event-title,
.single-tribe_events .tribe-events-single-event-title,
.tribe-events-single h1 {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-weight: 500 !important;
	color: #B5820A !important;
}

/* Tutto il testo della pagina evento in Lato */
.tribe-events-single,
.tribe-events-single * {
	font-family: "Lato", sans-serif !important;
}
/* ...ma il titolo resta Cormorant (dopo la regola Lato) */
.tribe-events-single .tribe-events-single-event-title {
	font-family: "Cormorant Garamond", Garamond, serif !important;
}

/* Link blu → ocra */
.tribe-events-single a,
.single-tribe_events a {
	color: #B5820A !important;
}
.tribe-events-single a:hover {
	color: #8F6708 !important;
}

/* Etichette DETTAGLI / ORGANIZZATORE / LUOGO in ocra, coerenti col sito */
.tribe-events-single .tribe-events-meta-group h2,
.tribe-events-single .tribe-events-single-section-title {
	color: #B5820A !important;
	font-family: "EB Garamond", Garamond, serif !important;
}

/* ==========================================================================
   IUBENDA — pulsante preferenze privacy a sinistra
   ========================================================================== */
.iubenda-tp-btn.iubenda-cs-preferences-link {
	right: auto !important;
	left: 15px !important;
	position: fixed !important;
}

/* ===== SPAZIATURA RIQUADRI "LA CORALE" ===== */

.entry-content .wp-block-columns {
	margin-bottom: 40px !important;
}

.entry-content .wp-block-columns:last-of-type {
	margin-bottom: 0 !important;
}

/* ===== GALLERIA (NextGEN Gallery) ===== */

.ngg-albumoverview.default-view .ngg-album {
    background-color: #FAF6EF !important;
    border: 1px solid #E5DCC8 !important;
    border-radius: 4px !important;
    padding: 24px !important;
    box-shadow: none !important;
}

/* Miniatura */
.ngg-albumoverview .ngg-thumbnail {
    border-radius: 3px !important;
    overflow: hidden !important;
}

.ngg-albumoverview .ngg-thumbnail img.Thumb {
    border: none !important;
    border-radius: 3px !important;
}

/* Titolo album */
.ngg-albumoverview .ngg-albumtitle,
.ngg-albumoverview .ngg-albumtitle a {
    font-family: 'EB Garamond', serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 18px !important;
    color: #B5820A !important;
    text-decoration: none !important;
    text-decoration-color: #B5820A !important;
}

.ngg-albumoverview .ngg-albumtitle a:hover {
    color: #8F6708 !important;
}

/* Descrizione album */
.ngg-albumoverview .ngg-albumdesc,
.ngg-albumoverview .ngg-albumcontent p {
    font-family: 'Lato', sans-serif !important;
    font-weight: 300 !important;
    color: #2E2419 !important;
    line-height: 1 !important;
    font-size: 17px !important;
	white-space: pre-line !important;
}

/* Conteggio foto (es. "35 Foto") */
.ngg-albumoverview .ngg-albumcontent {
    font-family: 'Lato', sans-serif !important;
    color: #8F6708 !important;
}

/* Titolo pagina "Galleria" */
.page-template-default .entry-header h1,
.type-page .entry-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 300 !important;
    color: #2E2419 !important;
}

/* ===== REPERTORIO ===== */

.repertorio-wrap {
	--rep-avorio: #FAF6EF;
	--rep-ocra: #B5820A;
	--rep-ocra-scuro: #8F6708;
	--rep-titolo: #2E2419;
	--rep-testo: #6B6154;
	--rep-tenue: #9A8E7C;
	--rep-bordo: #E5DCC8;
}

.repertorio-toolbar {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	gap: 1rem;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.repertorio-search {
	flex: 1;
	min-width: 220px;
	max-width: 520px;
	border: 1px solid var(--rep-bordo);
	background: #fff;
	padding: 0.7rem 1rem;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 0.95rem;
	color: var(--rep-testo);
	border-radius: 2px;
}

.repertorio-count {
	font-family: 'Lato', sans-serif;
	font-size: 0.8rem;
	color: var(--rep-tenue);
	white-space: nowrap;
}

.repertorio-alpha-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.1rem;
	justify-content: center;
	max-width: 1080px;
	margin: 1.4rem auto 0;
}

.repertorio-alpha-nav a {
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	font-size: 0.85rem;
	color: var(--rep-ocra);
	text-decoration: none;
	padding: 0.15rem 0.45rem;
}

.repertorio-alpha-nav a:hover {
	color: var(--rep-ocra-scuro);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.repertorio-alpha-nav span.disabled {
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	font-size: 0.85rem;
	color: #DDD3C2;
	padding: 0.15rem 0.45rem;
}

.repertorio-tabella-wrap {
	max-width: 1080px;
	margin: 3rem auto 3rem;
}

.repertorio-tabella {
	width: 100%;
	border-collapse: collapse;
	border: none !important;
	table-layout: fixed;
}

.repertorio-tabella .col-titolo { width: 34%; }
.repertorio-tabella .col-testo { width: 18%; }
.repertorio-tabella .col-musica { width: 18%; }
.repertorio-tabella .col-elaborazione { width: 16%; }
.repertorio-tabella .col-azioni { width: 14%; }   /* tre caselle da 34px non entravano nel 12% */

.repertorio-tabella th,
.repertorio-tabella td {
	border: none !important;
	background: transparent !important;
}

.repertorio-tabella thead th {
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.75rem;
	color: var(--rep-tenue);
	font-weight: normal;
	text-align: left;
	padding: 0.5rem 0.8rem 0.9rem;
	border-bottom: 1px solid var(--rep-bordo) !important;
}

.repertorio-tabella thead th.center {
	text-align: center;
}

.repertorio-tabella .lettera-row td {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.4rem;
	font-weight: 300;
	color: var(--rep-ocra);
	padding: 2rem 0.8rem 0.3rem;
}

.repertorio-tabella tbody tr.brano-row td {
	padding: 1rem 0.8rem;
	border-bottom: 1px solid var(--rep-bordo) !important;
	vertical-align: middle;
}

.repertorio-tabella .t-titolo {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.15rem;
	color: var(--rep-titolo);
}

.repertorio-tabella .col-autori-mobile {
	display: none;
}

.repertorio-tabella .t-autore {
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 0.92rem;
	color: var(--rep-tenue);
}

.repertorio-tabella td.azioni {
	text-align: right;
	white-space: nowrap;
}

.repertorio-tabella .icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: none;
	color: var(--rep-ocra);
	text-decoration: none;
	margin: 0 1px;
	position: relative;
	transition: color .15s, background .15s;
	vertical-align: middle;
	border-radius: 2px;
}

.repertorio-tabella .icon-btn:hover {
	color: var(--rep-ocra-scuro);
	background: var(--rep-avorio);
}

.repertorio-tabella .icon-btn svg {
	width: 18px;
	height: 18px;
}

.repertorio-tabella .icon-btn.vuoto {
	pointer-events: none;
}

.repertorio-tabella .icon-btn.spartito .lock {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 13px;
	height: 13px;
	background: var(--rep-avorio);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.repertorio-tabella .icon-btn.spartito .lock svg {
	width: 8px;
	height: 8px;
	color: var(--rep-ocra);
}

.repertorio-nota-riservata {
	max-width: 1080px;
	margin: 0 auto 3rem;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 0.85rem;
	color: var(--rep-tenue);
	display: flex;
	align-items: center;
	gap: 0.7rem;
	justify-content: center;
	text-align: center;
}

.repertorio-nota-riservata svg {
	width: 18px;
	height: 18px;
	color: var(--rep-ocra);
	flex-shrink: 0;
}

@media (max-width: 900px) {

	.repertorio-tabella {
		table-layout: auto;
	}

	.repertorio-tabella thead {
		display: none;
	}

	.repertorio-tabella tbody tr.lettera-row {
		display: block;
	}

	.repertorio-tabella tbody tr.brano-row {
		display: block;
		padding: 1rem 0.8rem;
		border-bottom: 1px solid var(--rep-bordo) !important;
	}

	.repertorio-tabella tbody tr.brano-row td {
		display: block;
		width: auto !important;
		padding: 0 !important;
		border: none !important;
	}

	.repertorio-tabella .t-titolo {
		font-size: 1.1rem;
	}

	.repertorio-tabella .col-testo,
	.repertorio-tabella .col-musica,
	.repertorio-tabella .col-elaborazione {
		display: none !important;
	}

	.repertorio-tabella .col-autori-mobile {
		display: block !important;
		font-size: 0.88rem;
		padding-top: 0.3rem !important;
	}

	.repertorio-tabella .col-autori-mobile:empty {
		display: none !important;
	}

	.repertorio-tabella td.azioni {
		display: flex;
		align-items: center;
		gap: 0.3rem;
		margin-left: -0.5rem;
		padding-top: 0.5rem !important;
	}
}

/* ===== REPERTORIO — titolo cliccabile, tasto modifica, icone Media =====
   Consolidato dal Personalizza > CSS aggiuntivo (ottobre 2026).
   1. Il titolo del brano e' un link al dettaglio (solo utenti loggati).
   2. Chi puo' modificare il brano vede una matita a sinistra del titolo,
      uguale per colore e dimensioni alle icone Media; se il titolo va a
      capo, la seconda riga resta allineata al titolo e non alla matita.
   3. Le icone Media stanno in tre caselle fisse (video, ascolto,
      spartito) allineate a destra: se un'icona manca, la sua casella
      resta vuota e le altre non si spostano. Le larghezze delle colonne
      sono nelle regole .col-* qui sopra. */

/* --- 1. Titolo cliccabile --- */

.repertorio-tabella .rep-titolo-link,
.repertorio-tabella .rep-titolo-link:visited {
	color: inherit;
	text-decoration: none !important;
	box-shadow: none !important;
	border-bottom: 0 !important;
	transition: color .15s;
}

.repertorio-tabella .rep-titolo-link:hover,
.repertorio-tabella .rep-titolo-link:focus {
	color: var(--rep-ocra);
}

/* --- 2. Tasto modifica --- */

/* Rientro sporgente: la prima riga parte 36px piu' a sinistra, cioe' lo
   spazio esatto della matita (34px + 2px di margine). */
.repertorio-tabella tbody tr.brano-row td.ha-modifica {
	padding-left: calc(0.8rem + 28px);
	text-indent: -36px;
}

.repertorio-tabella .rep-modifica {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: -6px 2px -6px 0;
	color: var(--rep-ocra);
	text-decoration: none !important;
	box-shadow: none !important;
	border-radius: 2px;
	vertical-align: middle;
	text-indent: 0;
	transition: color .15s, background .15s;
}

/* Il rientro sporgente non deve propagarsi all'icona "in preparazione". */
.repertorio-tabella td.ha-modifica .rep-in-preparazione {
	text-indent: 0;
}

.repertorio-tabella .rep-modifica:hover,
.repertorio-tabella .rep-modifica:focus {
	color: var(--rep-ocra-scuro);
	background: var(--rep-avorio);
}

.repertorio-tabella .rep-modifica svg {
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	stroke-width: 1.4;
}

/* --- 3. Icone Media in caselle fisse --- */

.repertorio-tabella tbody tr.brano-row td.azioni {
	padding-left: 0;
}

.repertorio-tabella .rep-icone {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
}

.repertorio-tabella .rep-icone .icon-btn {
	flex: 0 0 34px;
	margin: 0;
}

@media (max-width: 900px) {

	.repertorio-tabella tbody tr.brano-row td.ha-modifica {
		padding-left: 36px !important;
	}

	.repertorio-tabella .rep-icone {
		justify-content: flex-start;
		gap: 0.3rem;
	}
}

/* ===== BRANO - DETTAGLIO ===== */

.single-brano .entry-meta,
.single-brano .post-navigation,
.single-brano .ast-single-post-navigation {
	display: none !important;
}

.brano-dettaglio {
	--bd-avorio: #FAF6EF;
	--bd-ocra: #B5820A;
	--bd-ocra-scuro: #8F6708;
	--bd-titolo: #2E2419;
	--bd-testo: #6B6154;
	--bd-tenue: #9A8E7C;
	--bd-bordo: #E5DCC8;
	max-width: 760px;
	margin: 0 auto;
}

.brano-autori {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.6rem;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 1rem;
	color: var(--bd-testo);
	margin-bottom: 1.6rem;
}

.brano-autori strong {
	font-weight: 600;
	color: var(--bd-titolo);
}

.brano-video {
	margin-top: 2.2rem;
}

.brano-video-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 2px;
	overflow: hidden;
	margin-top: 0.8rem;
}

.brano-video-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.brano-btn {
	display: inline-block;
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.85rem;
	color: #fff;
	background: var(--bd-ocra);
	padding: 0.7rem 1.6rem;
	text-decoration: none;
	border-radius: 2px;
	margin-bottom: 1rem;
}

.brano-btn:hover {
	background: var(--bd-ocra-scuro);
	color: #fff;
}

.brano-riservato {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
	background: var(--bd-avorio);
	border: 1px solid var(--bd-bordo);
	border-radius: 4px;
	padding: 1.4rem 1.6rem;
	margin-top: 1.6rem;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 0.95rem;
	color: var(--bd-testo);
}

.brano-riservato svg {
	width: 22px;
	height: 22px;
	color: var(--bd-ocra);
	flex-shrink: 0;
	margin-top: 0.15rem;
}

.brano-riservato a {
	color: var(--bd-ocra);
	font-weight: 600;
}

.brano-sezione-titolo {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	font-size: 1.3rem;
	color: var(--bd-titolo);
	margin: 2rem 0 0.6rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--bd-bordo);
}

.brano-file-item {
	margin-bottom: 2rem;
}

.brano-file-label {
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	color: var(--bd-tenue);
	margin: 0 0 0.5rem;
}

/* Elenco spartiti con icone Visualizza/Scarica */

.brano-file-list {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.brano-file-list .brano-file-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.7rem 0.2rem;
	border-bottom: 1px solid var(--bd-bordo);
	margin-bottom: 0;
}

.brano-file-nome {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	color: var(--bd-titolo);
}

.brano-file-azioni {
	display: flex;
	gap: 0.2rem;
}

.brano-icon-btn {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 38px;
	min-width: 38px;
	height: 38px;
	padding: 0 !important;
	border: none !important;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	background: none !important;
	color: var(--bd-ocra) !important;
	border-radius: 3px;
	text-decoration: none;
	transition: background .15s, color .15s;
}

.brano-icon-btn:hover {
	background: var(--bd-avorio) !important;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10) !important;
	color: var(--bd-ocra-scuro) !important;
}

.brano-icon-btn:focus {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

.brano-icon-btn:focus-visible {
	outline: 2px solid var(--bd-ocra) !important;
	outline-offset: 2px;
}

.brano-icon-btn svg {
	display: block !important;
	flex: 0 0 auto !important;
	width: 19px !important;
	min-width: 19px !important;
	max-width: none !important;
	height: 19px !important;
	min-height: 19px !important;
	fill: none !important;
	stroke: currentColor !important;
}

.brano-lightbox {
	display: none;
	flex-direction: column;
	position: fixed;
	inset: 0;
	background: rgba(46, 36, 25, 0.92);
	z-index: 9999;
	padding: 1.2rem 2.5rem 2.5rem;
}

.brano-lightbox.aperto {
	display: flex;
}

.brano-lightbox-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-shrink: 0;
	padding-bottom: 1rem;
}

.brano-lightbox-titolo {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	font-size: 1.25rem;
	color: #fff;
}

.brano-lightbox-header-azioni {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	flex-shrink: 0;
}

.brano-lightbox-scarica {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.8rem;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
	padding: 0.45rem 0.9rem;
	border-radius: 2px;
	text-decoration: none;
	transition: border-color .15s, color .15s;
}

.brano-lightbox-scarica svg {
	width: 15px;
	height: 15px;
}

.brano-lightbox-scarica:hover {
	border-color: var(--bd-ocra);
	color: var(--bd-ocra);
}

.brano-lightbox-frame {
	flex: 1;
	width: 100%;
	border: none;
	background: #fff;
	border-radius: 2px;
}

.brano-lightbox-chiudi {
	background: none;
	border: none;
	color: #fff;
	font-size: 2.2rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 0.3rem;
}

.brano-lightbox-chiudi:hover {
	color: var(--bd-ocra);
}

@media (max-width: 680px) {
	.brano-lightbox {
		padding: 1rem 0.8rem 0.8rem;
	}
	.brano-lightbox-titolo {
		font-size: 1rem;
	}
	.brano-lightbox-scarica span {
		display: none;
	}
}

.brano-file-item audio,
.brano-audio {
	width: 100%;
	max-width: 460px;
	display: block;
	margin-top: 0.2rem;
}

/* Videoregistrazioni per voce, sotto l'audio: larghe quanto la colonna.
   Prima che il browser disegni l'anteprima (primo fotogramma) il riquadro
   resta in 16:9 su fondo avorio invece che nero; poi prende le proporzioni
   del filmato, senza superare l'80% dell'altezza dello schermo (video
   girati in verticale). */
.brano-dettaglio .brano-video-voce {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: auto 16 / 9;
	max-height: 80vh;
	margin-top: 10px;
	border-radius: 4px;
	background: var(--bd-avorio);
	border: 1px solid var(--bd-bordo);
	box-sizing: border-box;
}

.brano-nessun-file {
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-style: italic;
	color: var(--bd-tenue);
	margin-top: 1.6rem;
}
/* ===== LOGIN CORISTI ===== */

.isg-login-box {
	max-width: 380px;
	margin: 2rem auto;
	background: #FAF6EF;
	border: 1px solid #E5DCC8;
	border-radius: 4px;
	padding: 2.4rem 2rem;
}

.isg-login-box p {
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	color: #6B6154;
	text-align: center;
	margin-top: 0;
}

.isg-login-errore {
	background: #F7E9E4;
	border: 1px solid #D9B5A6;
	color: #8F4E3A;
	padding: 0.7rem 1rem;
	border-radius: 2px;
	font-size: 0.9rem;
	margin-bottom: 1.4rem !important;
}

.isg-login-successo {
	background: #EEF2E4;
	border: 1px solid #C3D1A6;
	color: #556B2F;
	padding: 0.7rem 1rem;
	border-radius: 2px;
	font-size: 0.9rem;
	text-align: center;
	margin-bottom: 0 !important;
}

#isg-login-form p {
	text-align: left;
	margin-bottom: 1.2rem;
}

#isg-login-form label {
	display: block;
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.75rem;
	color: #9A8E7C;
	margin-bottom: 0.35rem;
}

#isg-login-form input[type="text"],
#isg-login-form input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #E5DCC8;
	background: #fff;
	padding: 0.65rem 0.8rem;
	font-family: 'Lato', sans-serif;
	font-size: 0.98rem;
	color: #2E2419;
	border-radius: 2px;
}

#isg-login-form .forgetmenot {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

#isg-login-form .forgetmenot label {
	display: inline;
	text-transform: none;
	letter-spacing: normal;
	font-family: 'Lato', sans-serif;
	font-size: 0.9rem;
	margin: 0;
}

#isg-login-form .login-submit {
	text-align: center;
	margin-top: 1.6rem;
}

#isg-login-form #wp-submit,
#isg-login-form input[type="submit"] {
	appearance: none;
	cursor: pointer;
	border: none;
	font-family: 'EB Garamond', serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.9rem;
	color: #fff;
	background: #B5820A;
	padding: 0.75rem 2.2rem;
	border-radius: 2px;
}

#isg-login-form #wp-submit:hover,
#isg-login-form input[type="submit"]:hover {
	background: #8F6708;
}

.isg-login-password-dimenticata {
	text-align: center;
	margin: 1.4rem 0 0 !important;
}

.isg-login-password-dimenticata a {
	font-family: 'Lato', sans-serif;
	font-size: 0.88rem;
	color: #9A8E7C;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.isg-login-password-dimenticata a:hover {
	color: #B5820A;
}

/* ===== LINK "VEDI TUTTO" (colonna notizie in home) =====
   Assegna la classe "link-vedi-tutto" a un blocco Paragrafo
   dalle impostazioni avanzate del blocco. */

.link-vedi-tutto a,
.link-vedi-tutto {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	font-size: 0.8rem !important;
	color: #B5820A !important;
	text-decoration: none !important;
	margin-top: 1.1rem !important;
	display: block;
}

.link-vedi-tutto a:hover {
	color: #8F6708 !important;
	text-decoration: none !important;
}

/* ===== MENU - VOCE ACCEDI/ESCI ===== */

.main-header-menu .menu-item.voce-riservata > a.menu-link,
.menu-item.voce-riservata > a.menu-link,
.menu-item.voce-riservata > a {
	color: #B5820A !important;
}

.main-header-menu .menu-item.voce-riservata > a.menu-link:hover,
.menu-item.voce-riservata > a.menu-link:hover,
.menu-item.voce-riservata > a:hover {
	color: #8F6708 !important;
}

/* ===== MENU - sottomenu La Corale ===== */


/* Dà più respiro al sottomenu ed evita che il testo si comprima */
@media (min-width: 1181px) {
	.main-header-menu .sub-menu,
	.ast-desktop .main-header-menu .sub-menu {
		min-width: 300px !important;
	}
	.main-header-menu .sub-menu .menu-item a {
		white-space: nowrap !important;
	}
}
/* ===== REPERTORIO - icona "in preparazione" ===== */

.rep-in-preparazione {
	display: inline-flex;
	vertical-align: middle;
	margin-left: 0.4rem;
	color: #B5820A;
	position: relative;
	top: -1px;
}

.rep-in-preparazione svg {
	width: 15px;
	height: 15px;
}


/* ==========================================================================
   9. EVENTI — RIDISEGNO LISTA E WIDGET  (settembre 2026)
   Regole verificate dal Personalizza > CSS aggiuntivo e qui consolidate.
   Riguardano il riquadro data a tre righe, il badge della categoria e la
   spaziatura di lista e widget. Vengono dopo le sezioni 4 e 5: dove un
   selettore compare anche piu' sopra, e' questa la versione che vale.
   ========================================================================== */

/* =========================================================
   NOTIZIE HOME — uniforma l'interlinea ai titoli degli eventi
   ========================================================= */

.wp-block-latest-posts__post-title {
	display: block !important;
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-weight: 500 !important;
	font-size: 1.25rem !important;
	line-height: 1.15 !important;
	margin-top: 4px !important;
	margin-bottom: 4px !important;
}

/* =========================================================
   EVENTI — pagina completa (vista lista)
   ========================================================= */

/* Riduce lo spazio tra titolo, orario e luogo dentro ogni evento,
   sostituendo i margini di default del plugin con un gap unico. */
.tribe-events .tribe-events-calendar-list__event-header {
	gap: 0.2rem !important;
}
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events .tribe-events-calendar-list__event-venue {
	margin: 0 !important;
}

/* Riquadro data quadrato con tre righe (giorno settimana / numero / orario). */
.tribe-events .tribe-events-calendar-list__event-date-tag,
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	width: 5.2rem !important;
	height: 5.2rem !important;
}
.tribe-events .tribe-events-calendar-list__event-date-tag {
	flex-shrink: 0 !important;
	margin-right: 0.8rem !important;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	padding: 0.35rem 0 !important;
	gap: 0.1rem !important;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
	font-size: 0.8rem !important;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
	font-size: 1.8rem !important;
}

/* Centra il riquadro rispetto al testo accanto e compatta i titoli lunghi. */
.tribe-events .tribe-events-calendar-list__event-row {
	align-items: center !important;
}
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__event-title a {
	line-height: 1.15 !important;
}

/* Nasconde l'indirizzo completo: resta il solo nome della sede. */
.tribe-events .tribe-events-calendar-list__event-venue-address {
	display: none !important;
}

/* =========================================================
   EVENTI — widget "Prossimi eventi" in homepage
   ========================================================= */

/* Riquadro data quadrato, con le tre righe distribuite in altezza.
   Il selettore raddoppiato serve a superare la regola di style.css. */
.tribe-events-widget-events-list__event-date-tag {
	width: 4.7rem !important;
	height: 4.7rem !important;
	box-sizing: border-box !important;
}
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-datetime {
	width: 100% !important;
	height: 100% !important;
	justify-content: space-evenly !important;
	padding: 0 !important;
}
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-month,
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-daynum,
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-time {
	margin: 0 !important;
}

/* Compensa lo sbilanciamento ottico del numero del giorno: le cifre
   old-style del Cormorant riempiono la parte bassa della riga e lasciano
   spazio vuoto in alto, facendolo sembrare troppo vicino all'orario.
   Deve restare dopo la regola che azzera i margini qui sopra. */
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-daynum {
	line-height: 1 !important;
	margin-top: -0.2rem !important;
	margin-bottom: 0.2rem !important;
}

/* Spazio ridotto tra il luogo dell'evento e l'etichetta sotto.
   Il margine sinistro del badge è calcolato dal codice, non qui. */
.isg-widget-categorie {
	margin-top: 0.12rem !important;
}

/* =========================================================
   EVENTI — regole comuni alle due viste
   ========================================================= */

/* Orario aggiunto via codice come terza riga del riquadro data;
   la riga originale accanto al titolo viene nascosta. */
.tribe-events-calendar-list__event-date-tag-time,
.tribe-events-widget-events-list__event-date-tag-time {
	font-family: "EB Garamond", Garamond, serif !important;
	font-size: 0.82rem !important;
	color: #6B6154 !important;
	line-height: 1.1 !important;
}
.tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events-widget-events-list__event-datetime-wrapper {
	display: none !important;
}

/* Badge categoria: maiuscolo spaziato in EB Garamond. I colori della
   pagina eventi restano quelli del plugin Category Colors; in homepage
   il badge è creato da noi e riusa le stesse variabili. */
.tec-events-calendar-list__category,
.isg-widget-categoria {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	font-size: 0.66rem !important;
	padding: 0.28rem 0.7rem !important;
	border-radius: 2px !important;
}
.tec-events-calendar-list__category-icon {
	display: none !important;
}
.isg-widget-categoria {
	display: inline-block !important;
	background-color: var(--tec-color-category-secondary) !important;
	color: var(--tec-color-category-text) !important;
}

/* --- EVENTI: distribuzione verticale omogenea nel riquadro data, con la
   stessa compensazione ottica usata in home per il numero del giorno. --- */
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	justify-content: space-evenly !important;
	padding: 0 !important;
	gap: 0 !important;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events .tribe-events-calendar-list__event-date-tag-time {
	margin: 0 !important;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
	line-height: 1 !important;
	margin-top: -0.2rem !important;
	margin-bottom: 0.2rem !important;
}

/* --- EVENTI: separatore del mese — reso più leggibile restando
   sottotono rispetto ai titoli degli eventi: non è una sezione,
   è un riferimento per orientarsi scorrendo la lista. --- */
.tribe-events .tribe-events-calendar-list__month-separator-text {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 1.35rem !important;
	color: #8A7C6A !important;
}

/* --- EVENTI: riallinea le righe alla colonna del contenuto, annullando il
   margine orizzontale negativo che il plugin applica alla griglia. --- */
.tribe-events .tribe-events-calendar-list__event-row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* Evento singolo: la categoria diventa un'etichetta colorata come nella
   lista; l'etichetta testuale "Categoria Evento:" viene nascosta. Lo slug
   e' aggiunto al link via functions.php, che nella pagina di dettaglio
   definisce anche le variabili di colore (il plugin non le stampa qui). */
.tribe-events-single .tribe-events-event-categories-label {
	display: none !important;
}
.tribe-events-single .tribe-events-event-categories a.isg-categoria-singola {
	display: inline-block !important;
	background-color: var(--tec-color-category-secondary) !important;
	color: var(--tec-color-category-text) !important;
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	font-size: 0.66rem !important;
	padding: 0.28rem 0.7rem !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	box-shadow: none !important;
}


/* Vista Mese: testo bianco sul riquadro colorato della categoria, altrimenti
   il titolo resta scuro su fondo scuro. Il box-shadow va azzerato perche' su
   quel link la sottolineatura e' disegnata con l'ombra, non con
   text-decoration (vedi nota nella sezione 4). */
.tribe-events .tribe-events-calendar-month__calendar-event-title-link,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link:hover,
.tribe-events .tribe-events-calendar-month__calendar-event-title-link:focus,
.tribe-events .tribe-events-calendar-month__calendar-event-datetime,
.tribe-events .tribe-events-calendar-month__calendar-event-datetime time {
	color: #FFFFFF !important;
	box-shadow: none !important;
}


/* Evento singolo: nasconde l'immagine in evidenza. Serve solo alla fascia
   "In evidenza" della home (sezione 10): nella pagina dell'evento resta la
   locandina inserita nel contenuto, senza doppioni. */
.tribe-events-single .tribe-events-event-image {
	display: none !important;
}

/* Lista: centra verticalmente testo e immagine dell'evento tra loro, cosi'
   restano sulla stessa linea del riquadro data invece di allinearsi in alto. */
.tribe-events .tribe-events-calendar-list__event {
	align-items: center !important;
}

/* Lista e widget: toglie la barra verticale che il plugin disegna sugli
   eventi "in primo piano". Quel flag qui non ha significato editoriale:
   lo usiamo solo per scegliere l'evento della fascia in evidenza. */
.tribe-events-widget-events-list__event-row--featured .tribe-events-widget-events-list__event-date-tag-datetime::after,
.tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime::after {
	display: none !important;
}


/* ==========================================================================
   10. HOME — FASCIA "IN EVIDENZA"  (settembre 2026)
   Riquadro grande con l'evento marcato "in primo piano", stampato dallo
   shortcode [evento_in_evidenza]. Titolo, data e luogo sono sovrapposti in
   basso a sinistra sull'immagine, su una sfumatura scura; tutto il riquadro
   e' un link. Con piu' eventi diventano slide, con nessuno la sezione non
   viene stampata affatto.
   ========================================================================== */

.isg-evidenza {
	margin: 3rem 0;
}

/* L'occhiello ricalca i titoletti ocra dei blocchi accanto (16px). */
.isg-evidenza-occhiello {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	font-size: 1rem !important;
	color: #B5820A !important;
	margin: 0 0 0.8rem !important;
}

.isg-evidenza-slide {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 2px;
	text-decoration: none !important;
	box-shadow: none !important;
}

/* Senza questa riga il display:block qui sopra annulla l'attributo hidden
   e le slide nascoste restano impilate una sotto l'altra. */
.isg-evidenza-slide[hidden] {
	display: none !important;
}

.isg-evidenza-slide img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* Sfumatura invece di un rettangolo pieno: il bordo superiore non taglia
   l'immagine con una linea dura. */
.isg-evidenza-velo {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 62%;
	background: linear-gradient(to top, rgba(20, 14, 6, 0.82), rgba(20, 14, 6, 0));
	pointer-events: none;
}

.isg-evidenza-testo {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.4rem 1.6rem;
}

.isg-evidenza-titolo {
	display: block;
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-size: 2.1rem !important;
	line-height: 1.18 !important;
	color: #FFFFFF !important;
	margin: 0 0 0.5rem !important;
	max-width: 86%;
}

.isg-evidenza-quando,
.isg-evidenza-dove {
	display: block;
	font-family: "EB Garamond", Garamond, serif !important;
	font-size: 1.4rem !important;
	line-height: 1.15 !important;
	margin: 0 !important;
}

/* Due toni di avorio diversi: la data resta piu' presente del luogo. */
.isg-evidenza-quando {
	color: #F0E6D6 !important;
	letter-spacing: 0.04em;
}
.isg-evidenza-dove {
	color: #D9CDB8 !important;
}

/* I puntini compaiono solo con piu' di un evento in primo piano. */
.isg-evidenza-controlli {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin-top: 1rem;
}
.isg-evidenza-punto {
	width: 9px;
	height: 9px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid #B5820A;
	background: transparent;
	cursor: pointer;
}
.isg-evidenza-punto[aria-current="true"] {
	background: #B5820A;
}

/* Su telefono il formato panoramico diventerebbe una striscia sottile. */
@media (max-width: 600px) {
	.isg-evidenza-slide img {
		aspect-ratio: 4 / 3;
	}
	.isg-evidenza-titolo {
		font-size: 1.5rem !important;
		max-width: 100%;
	}
	.isg-evidenza-testo {
		padding: 1rem 1.1rem;
	}
	.isg-evidenza-quando,
	.isg-evidenza-dove {
		font-size: 0.95rem !important;
	}
}


/* ==========================================================================
   11. AREA CORISTI — BLOCCO IN CIMA ALLA HOME  (settembre 2026)
   Sezioni stampate dagli shortcode [eventi_coristi] e [avvisi_coristi],
   visibili ai soli coristi autenticati. Riprendono la livrea del sito
   pubblico, in scala ridotta: qui le righe sono molte e affiancate, e
   riquadri grandi appesantirebbero l'apertura della pagina.
   ========================================================================== */

/* --- Contenitore unico --- */

/* Fondo piu' chiaro dell'avorio della pagina e bordo ocra: il riquadro
   dei coristi si deve riconoscere a colpo d'occhio come area riservata,
   distinta dalla home pubblica che gli sta sotto. */
.isg-coristi {
	background: #FFFCF7;
	border: 1px solid #B5820A;
	border-radius: 3px;
	padding: 2rem 2.2rem 1.4rem;
	margin: 0 0 3rem;
}

/* Saluto al corista. Usa il nome proprio se il profilo lo riporta,
   altrimenti il nome visualizzato. */
.isg-coristi-saluto {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-size: 1.9rem !important;
	line-height: 1.15 !important;
	color: #2E2419 !important;
	margin: 0 !important;
}

/* Ruolo del corista, nella livrea dei titoletti ocra maiuscoli.
   Sta a ridosso del saluto: il margine superiore e' minimo. */
.isg-coristi-ruolo {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	font-size: 0.85rem !important;
	color: #B5820A !important;
	margin: 0.15rem 0 1.8rem !important;
}

/* --- Eventi in due colonne --- */

.isg-coristi-eventi {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	margin: 0 0 3rem;
}

/* Stessi titoletti ocra dei blocchi pubblici, cosi' l'area riservata si
   riconosce come parte dello stesso sito. */
.isg-coristi-titolo,
.isg-avvisi-titolo,
.isg-brani-titolo {
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	font-size: 1rem !important;
	color: #B5820A !important;
	margin: 0 0 1rem !important;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #E0D5C2;
}

/* Niente riquadro data qui: ogni evento e' una riga con barra laterale del
   colore della sua categoria, che sostituisce il badge e rende l'elenco
   leggibile a colpo d'occhio. Il colore di scorta copre gli eventi senza
   categoria e le pagine dove il plugin non definisce le variabili.
   Le dichiarazioni sono forzate perche' il tema impone display:flex sui
   link — che affiancherebbe i tre span invece di impilarli — e sovrascrive
   il bordo laterale con un filetto sotto. */
.isg-coristi .isg-coristi-evento {
	display: block !important;
	padding: 0.6rem 0 0.7rem 0.9rem !important;
	margin-bottom: 0.5rem !important;
	border-left: 3px solid var(--tec-color-category-secondary, #B5820A) !important;
	border-bottom: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.isg-coristi-quando {
	display: block;
	font-family: "EB Garamond", Garamond, serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.78rem;
	color: #8A7C6A;
	margin-bottom: 0.15rem;
}

.isg-coristi-nome {
	display: block;
	font-family: "Cormorant Garamond", Garamond, serif;
	font-size: 1.2rem;
	line-height: 1.2;
	color: #B5820A;
}
.isg-coristi-luogo {
	display: block;
	font-size: 0.85rem;
	color: #8A7C6A;
	margin-top: 0.1rem;
}
.isg-coristi-vuoto {
	color: #8A7C6A;
	font-style: italic;
}

/* --- Bacheca avvisi --- */

.isg-avvisi {
	margin: 0 0 3rem;
}

/* Filetto verticale invece di riquadri chiusi, che appesantirebbero una
   pagina con i riquadri data gia' presenti sopra. */
.isg-avviso {
	border-left: 3px solid #E0D5C2;
	padding: 0.9rem 1.1rem;
	margin-bottom: 0.9rem;
}
.isg-avviso--importante {
	border-left-color: #8F4E3A;
	background: #F5EFE4;
}

.isg-avviso-intestazione {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.3rem;
}
.isg-avviso-flag {
	background: #8F4E3A;
	color: #FFFFFF;
	font-family: "EB Garamond", Garamond, serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.62rem;
	padding: 0.2rem 0.5rem;
	border-radius: 2px;
}
.isg-avviso-data {
	font-size: 0.8rem;
	color: #8A7C6A;
}

.isg-avviso-oggetto {
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-size: 1.25rem !important;
	line-height: 1.25 !important;
	color: #2E2419 !important;
	margin: 0 0 0.3rem !important;
}
.isg-avviso-testo p {
	margin: 0 0 0.4rem;
	color: #6B6154;
}
.isg-avviso-testo p:last-child {
	margin-bottom: 0;
}

/* L'ultimo blocco interno non deve staccarsi dal fondo del riquadro. */
.isg-coristi > *:last-child {
	margin-bottom: 0;
}

/* Su telefono le due colonne degli eventi si impilano e il riquadro
   stringe i margini interni. */
@media (max-width: 768px) {
	.isg-coristi-eventi {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.isg-coristi {
		padding: 1.4rem 1.2rem 0.8rem;
	}
}


/* --- Brani in evidenza --- */

/* Tabella: brano, spartito della propria voce, SATB e registrazione.
   La colonna registrazione non viene stampata per direttore e organista,
   che non hanno una voce propria. */
.isg-brani {
	margin: 0 0 1.5rem;
}
.isg-brani-tabella {
	width: 100%;
	border-collapse: collapse;
}

/* Il tema disegna un bordo su ogni cella: qui viene azzerato, restano i
   soli filetti orizzontali tra un brano e l'altro. */
.isg-brani-tabella,
.isg-brani-tabella th,
.isg-brani-tabella td {
	border: 0 !important;
	background: transparent !important;
}
.isg-brani-tabella th {
	border-bottom: 1px solid #E0D5C2 !important;
}
.isg-brani-tabella td {
	border-bottom: 1px solid #EDE6D8 !important;
}

.isg-brani-tabella th {
	font-family: "EB Garamond", Garamond, serif;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.7rem;
	color: #8A7C6A;
	text-align: center;
	padding: 0.6rem 0.5rem;
	border-bottom: 1px solid #E0D5C2;
}
.isg-brani-tabella th.isg-brani-col-titolo {
	text-align: left;
	padding-left: 0;
}
.isg-brani-tabella td {
	padding: 0.8rem 0.5rem;
	border-bottom: 1px solid #EDE6D8;
	text-align: center;
	vertical-align: middle;
}
.isg-brani-tabella td.isg-brani-col-titolo {
	text-align: left;
	padding-left: 0;
}
.isg-brani-col-file {
	width: 5.5rem;
}
.isg-brani-col-audio {
	width: 13rem;
}
/* La sottolineatura dei link in questo sito e' disegnata con il box-shadow,
   non con text-decoration: vanno azzerati entrambi. */
.isg-brani-nome,
.isg-brani-nome:hover,
.isg-brani-nome:focus {
	display: block;
	font-family: "Cormorant Garamond", Garamond, serif;
	font-size: 1.15rem;
	line-height: 1.2;
	color: #B5820A;
	text-decoration: none !important;
	box-shadow: none !important;
	border-bottom: 0 !important;
}
.isg-brani-autori {
	display: block;
	font-size: 0.8rem;
	color: #8A7C6A;
	margin-top: 0.1rem;
}
.isg-brani-scarica {
	display: inline-block;
	color: #6B6154;
	text-decoration: none !important;
	box-shadow: none !important;
}
.isg-brani-scarica svg {
	width: 20px;
	height: 20px;
	display: block;
}
.isg-brani-assente {
	color: #D9CDB8;
}
.isg-brani .brano-audio {
	width: 100%;
	max-width: 12rem;
	height: 34px;
}
@media (max-width: 600px) {
	.isg-brani-tabella thead {
		display: none;
	}
	.isg-brani-tabella tr {
		display: block;
		padding: 0.8rem 0;
		border-bottom: 1px solid #EDE6D8;
	}
	.isg-brani-tabella td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 0;
		padding: 0.25rem 0;
		text-align: right;
	}
	.isg-brani-tabella td.isg-brani-col-titolo {
		display: block;
		margin-bottom: 0.4rem;
	}
	.isg-brani-tabella td::before {
		content: attr(data-label);
		font-family: "EB Garamond", Garamond, serif;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		font-size: 0.7rem;
		color: #8A7C6A;
	}
	.isg-brani-tabella td.isg-brani-col-titolo::before {
		content: none;
	}
}


/* --- Invito al feed del calendario --- */

/* Sotto l'elenco degli appuntamenti: testo a sinistra, pulsante a destra.
   Su schermi stretti il pulsante va a capo sotto il testo. Il pulsante e'
   volutamente piccolo rispetto a quelli della home pubblica: e' un'azione
   di servizio, non un invito principale. */
.isg-coristi-feed {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin: 0.5rem 0 2rem;
}
.isg-coristi-feed-testo {
	flex: 1;
	min-width: 14rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #8A7C6A;
}
.isg-coristi-feed-pulsante {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	flex-shrink: 0;
	background: #B5820A;
	color: #FFFFFF !important;
	font-family: "EB Garamond", Garamond, serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.72rem;
	padding: 0.4rem 0.9rem;
	border-radius: 2px;
	text-decoration: none !important;
	box-shadow: none !important;
}
.isg-coristi-feed-icona {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}
@media (max-width: 600px) {
	.isg-coristi-feed {
		gap: 0.6rem;
	}
}


/* --- Blocco contenitore in home --- */

/* Il blocco Colonne che ospita [area_coristi] resta in pagina anche per i
   visitatori, quando lo shortcode non stampa nulla, e i suoi margini
   lascerebbero un vuoto sotto la copertina. La classe "blocco-coristi" va
   assegnata a quel blocco dalle impostazioni avanzate dell'editor. */
.blocco-coristi:not(:has(.isg-coristi)) {
	display: none !important;
}

/* ==========================================================================
   ==========================================================================
   12. DA QUI IN POI: regole provenienti dal Personalizza > CSS aggiuntivo,
   consolidate nel tema figlio il 28 settembre 2026. Stanno in fondo e
   nello stesso ordine di prima, perche' il CSS aggiuntivo veniva caricato
   dopo questo file: cosi' dove due regole si equivalgono vince la stessa
   di prima e la resa non cambia.
   ==========================================================================
   ========================================================================== */

/* --- AREA CORISTI (mobile): le celle della tabella brani devono occupare
   tutta la larghezza, altrimenti conservano quella delle colonne e
   l'etichetta va a capo lasciando un vuoto a destra. --- */
@media (max-width: 600px) {
	.isg-brani-tabella,
	.isg-brani-tabella tbody,
	.isg-brani-tabella tr,
	.isg-brani-tabella td {
		width: auto !important;
		max-width: none !important;
	}
	.isg-brani-tabella td::before {
		white-space: nowrap;
		margin-right: 1rem;
	}
	.isg-brani .brano-audio {
		max-width: none !important;
	}
}

/* --- AREA CORISTI: i tre pulsanti per iscriversi al calendario. Contornati
   e in scala ridotta: sono un'azione di servizio, non un invito principale.
   Stessa icona su tutti e tre, perche' i loghi di Apple, Google e Microsoft
   sono marchi registrati; a distinguerli e' il nome. --- */
.isg-coristi-feed-pulsanti {
	display: flex !important;
	gap: 0.6rem !important;
	flex-wrap: wrap;
	flex-shrink: 0;
}
.isg-coristi-feed-pulsante {
	display: inline-flex !important;
	align-items: center;
	gap: 0.35rem;
	background: transparent !important;
	color: #B5820A !important;
	border: 1px solid #B5820A;
	font-family: "EB Garamond", Garamond, serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.62rem !important;
	line-height: 1.2;
	padding: 0.3rem 0.7rem !important;
	border-radius: 2px;
	text-decoration: none !important;
	box-shadow: none !important;
}
.isg-coristi-feed-pulsante:hover {
	background: #B5820A !important;
	color: #FFFFFF !important;
}
.isg-coristi-feed-icona {
	width: 12px;
	height: 12px;
	flex-shrink: 0;
}

/* --- AREA CORISTI: etichetta "Importante" e data dell'avviso non si
   spezzano mai in due righe. --- */
.isg-avviso-flag,
.isg-avviso-data {
	white-space: nowrap;
}

/* --- AREA CORISTI (mobile): il blocco del feed si impila e si centra.
   Il testo perde il minimo di larghezza, che lo farebbe uscire dal
   riquadro; i pulsanti mantengono la loro misura naturale invece di
   stirarsi, e una larghezza minima uguale li rende tutti e tre della
   stessa misura. L'intestazione dell'avviso passa a colonna: affiancate,
   "Importante" e la data si spezzerebbero entrambe. --- */
@media (max-width: 600px) {
	.isg-coristi-feed {
		flex-direction: column;
		align-items: center;
	}
	.isg-coristi-feed-testo {
		min-width: 0;
		width: 100%;
	}
	.isg-coristi-feed-pulsanti {
		width: auto;
		margin: 0 auto;
		justify-content: center;
	}
	.isg-coristi-feed-pulsante {
		flex: 0 0 auto;
		justify-content: center;
		min-width: 7.5rem;
	}
	.isg-avviso-intestazione {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.25rem;
	}
}

/* ==========================================================================
   Area Coristi — link "Programma" nelle card degli appuntamenti

   La card non è più un unico link: il titolo è il link all'evento, esteso a
   tutta la card con ::after (il clic sulla card funziona come prima), e
   "Programma" è un secondo link che sta sopra. Le dichiarazioni sul titolo
   sono forzate come quelle della card: il tema impone ai link display:flex,
   filetto sotto e sottolineatura.
   ========================================================================== */

/* La card fa da riferimento al link esteso del titolo. */
.isg-coristi .isg-coristi-evento {
	position: relative;
}

/* Il titolo resta com'era quando era uno span. */
.isg-coristi .isg-coristi-evento a.isg-coristi-nome,
.isg-coristi .isg-coristi-evento a.isg-coristi-nome:hover,
.isg-coristi .isg-coristi-evento a.isg-coristi-nome:focus {
	display: block !important;
	color: #B5820A !important;
	border-bottom: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

/* Il link del titolo copre tutta la card. */
.isg-coristi .isg-coristi-evento a.isg-coristi-nome::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* Sede a sinistra, "Programma" a destra. Il link va sempre a destra, anche
   quando la sede manca. */
.isg-coristi-riga {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.1rem;
}
.isg-coristi-riga .isg-coristi-luogo {
	flex: 1;
	min-width: 0;
	margin-top: 0;
}

/* Il link "Programma": stesso carattere maiuscoletto dei pulsanti del feed,
   ma senza fondo pieno — è un'azione discreta dentro la card. Sta sopra al
   link esteso del titolo (position + z-index). */
.isg-coristi .isg-coristi-programma {
	position: relative;
	z-index: 1;
	display: inline-flex !important;
	align-items: center;
	gap: 0.35rem;
	flex-shrink: 0;
	margin-left: auto;
	font-family: "EB Garamond", Garamond, serif;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.72rem;
	color: #B5820A !important;
	border-bottom: none !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.isg-coristi .isg-coristi-programma:hover,
.isg-coristi .isg-coristi-programma:focus {
	color: #8F6708 !important;
}
.isg-coristi-programma-icona {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

/* ==========================================================================
   Area Coristi — cursore a mano sulle card degli appuntamenti

   Forza la mano sul link del titolo, sull'elemento che copre la card (il suo
   ::after) e sul link "Programma", figli compresi: il puntatore sta sull'icona
   e sulla scritta, non sul link. Se una regola del tema azzerava il cursore
   lo ripristina.

   In più il ::after del titolo passa sopra a qualunque elemento della card
   che il tema abbia posizionato (z-index 1), e "Programma" sopra il ::after
   (z-index 2): un elemento posizionato lasciato sopra la card ne intercetta
   il clic e mostra la freccia.
   ========================================================================== */
.isg-coristi .isg-coristi-evento a.isg-coristi-nome,
.isg-coristi .isg-coristi-evento a.isg-coristi-nome::after,
.isg-coristi .isg-coristi-programma,
.isg-coristi .isg-coristi-programma * {
	cursor: pointer !important;
}
.isg-coristi .isg-coristi-evento a.isg-coristi-nome::after {
	z-index: 1;
}
.isg-coristi .isg-coristi-programma {
	z-index: 2;
}

/* DA RIVEDERE: residuo della ricerca sul cursore. Forza la mano su tutti i
   link del sito; non e' confermato che serva. */
a, a * { cursor: pointer !important; }

/* --- AREA CORISTI (mobile): "Programma" va sotto la sede, non di fianco.
   Sulle card strette la sede va a capo su più righe e il link, restando in
   riga, sembrava affiancato al solo primo rigo. Impilando la riga il link
   scende sotto la sede, allineato a sinistra. --- */
@media (max-width: 600px) {
	.isg-coristi-riga {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.15rem;
	}
	.isg-coristi .isg-coristi-programma {
		margin-left: 0;
	}
}

/* PAGINA EVENTI (vista lista): nome del luogo nel tono tenue del sito,
   invece dello scuro di default del plugin (classe tribe-common-b2). */
.tribe-events .tribe-events-calendar-list__event-venue,
.tribe-events .tribe-events-calendar-list__event-venue-title {
	color: #8A7C6A !important;
}

/* --- EVENTI: programma nella pagina di dettaglio, solo coristi autenticati.
   Il markup e' generato da isg_html_programma_evento() in functions.php.
   Sta sotto il blocco dei dettagli, con il titoletto "Programma" come i
   blocchi dell'area coristi. La testata ricalca quella del foglio PDF
   (titolo, riferimento, luogo, data e ora, appuntamento del coro, stato),
   senza riquadro e logo; la tabella riprende quella dei brani in
   evidenza (classi isg-brani-*, già in style.css).
   Nota: style.css impone Lato con !important a tutto ciò che sta nella
   pagina evento (.tribe-events-single *) e l'ocra a tutti i suoi link:
   per questo caratteri e colori qui sotto sono forzati. --- */
.isg-programma-evento {
	margin-top: 2.5rem;
}
.isg-programma + .isg-programma {
	margin-top: 3rem;
}

/* Testata: testo a sinistra, stato e tasto PDF a destra */
.isg-programma-testata {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}
.isg-programma-info {
	flex: 1 1 auto;
	min-width: 0;
}
.isg-programma-evento .isg-programma-info p {
	margin: 0;
	font-family: "Cormorant Garamond", Garamond, serif !important;
	line-height: 1.3;
	color: var(--csg-bruno);
}
.isg-programma-evento .isg-programma-info p.isg-programma-intestazione {
	font-size: 1.75rem;
	line-height: 1.15;
	margin-bottom: 0.2rem;
}
.isg-programma-evento .isg-programma-info p.isg-programma-riferimento {
	font-size: 1.15rem;
	font-style: italic;
	color: var(--csg-testo-secondario);
}
.isg-programma-evento .isg-programma-info p.isg-programma-luogo,
.isg-programma-evento .isg-programma-info p.isg-programma-quando {
	font-size: 1.05rem;
}
.isg-programma-evento .isg-programma-info p.isg-programma-coro {
	font-size: 0.95rem;
	color: var(--csg-testo-secondario);
}
.isg-programma-azioni {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.8rem;
}

/* Stato: evidenziato come nel PDF, giallo se provvisorio, verde se
   definitivo */
.isg-programma-evento .isg-programma-stato {
	display: inline-block;
	padding: 0.15rem 0.6rem;
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.85rem;
	line-height: 1.3;
	color: #32281E;
}
.isg-programma-stato-provvisorio {
	background: #FFE95C;
}
.isg-programma-stato-definitivo {
	background: #98D68C;
}

/* Tasto PDF: stesso stile di "Salva nel tuo calendario", con i valori
   misurati su quel pulsante (EB Garamond 14px, peso 500, spaziatura 1.4px,
   padding 8px 12px, altezza 39px, icona 21x16). Tutto forzato: la pagina
   evento impone ai link carattere, colore e filetto propri. */
.isg-programma-evento a.isg-programma-pdf-btn {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 39px;
	padding: 8px 12px !important;
	margin: 0 !important;
	background-color: #B5820A !important;
	color: #fff !important;
	border: none !important;
	border-radius: 2px !important;
	font-family: "EB Garamond", Garamond, serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	letter-spacing: 1.4px !important;
	text-transform: uppercase !important;
	white-space: nowrap;
	opacity: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.isg-programma-evento a.isg-programma-pdf-btn span {
	font: inherit !important;
	letter-spacing: inherit !important;
	color: inherit !important;
}
.isg-programma-evento a.isg-programma-pdf-btn:hover,
.isg-programma-evento a.isg-programma-pdf-btn:focus {
	background-color: #8F6708 !important;
	color: #fff !important;
}
.isg-programma-evento a.isg-programma-pdf-btn svg {
	display: block;
	width: 21px !important;
	height: 16px !important;
	flex: 0 0 auto;
}

/* Intestazioni ed etichette in EB Garamond, come nei brani in evidenza */
.isg-programma-evento .isg-programma-tabella th,
.isg-programma-evento .isg-programma-tabella td.isg-programma-col-etichetta {
	font-family: "EB Garamond", Garamond, serif !important;
}

/* Tabella: righe allineate in alto, per via di note e immagini */
.isg-programma-tabella td {
	vertical-align: top;
}
.isg-programma-tabella td.isg-brani-col-file {
	padding-top: 1rem;
}
.isg-programma-tabella .isg-programma-col-etichetta {
	width: 9rem;
	padding-left: 0;
	text-align: left;
}
.isg-programma-tabella td.isg-programma-col-etichetta {
	padding-top: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.75rem;
	color: var(--csg-testo-tenue);
}

/* Più canti sotto la stessa etichetta: niente filetto tra loro */
.isg-programma-tabella tr.isg-programma-segue td {
	border-bottom: 0 !important;
	padding-bottom: 0.2rem;
}
.isg-programma-tabella tr.isg-programma-continua td {
	padding-top: 0.2rem;
}

/* Titoli dei brani e testo libero: Cormorant, colore del testo (non sono
   link) */
.isg-programma-evento .isg-brani-nome,
.isg-programma-evento .isg-programma-testo {
	display: block;
	font-family: "Cormorant Garamond", Garamond, serif !important;
	font-size: 1.15rem !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: var(--csg-testo) !important;
}
.isg-programma-note {
	margin-top: 0.3rem;
	font-size: 0.9rem;
	color: var(--csg-testo-secondario);
}
.isg-programma-immagine img {
	display: block;
	margin-top: 0.5rem;
	max-width: 100%;
	height: auto;
}

/* Icone di download: si annulla lo stile dei link della pagina evento */
.isg-programma-evento a.isg-brani-scarica {
	color: var(--csg-testo-secondario) !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}
.isg-programma-evento a.isg-brani-scarica:hover {
	color: var(--csg-ocra) !important;
}

/* Mobile: testata su più righe (stato e tasto sotto il testo); l'etichetta
   diventa un titoletto sopra il brano, quella vuota delle righe che
   continuano un gruppo sparisce */
@media (max-width: 600px) {
	.isg-programma-testata {
		flex-wrap: wrap;
		gap: 1rem;
	}
	.isg-programma-info {
		flex-basis: 100%;
	}
	.isg-programma-azioni {
		flex-basis: 100%;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	.isg-programma-tabella td.isg-programma-col-etichetta {
		display: block;
		padding: 0 0 0.2rem;
		text-align: left;
	}
	.isg-programma-tabella td.isg-programma-col-etichetta::before {
		content: none;
	}
	.isg-programma-tabella tr.isg-programma-continua td.isg-programma-col-etichetta {
		display: none;
	}
	.isg-programma-tabella tr.isg-programma-segue {
		border-bottom: 0;
		padding-bottom: 0.2rem;
	}
	.isg-programma-tabella td.isg-brani-col-file {
		padding-top: 0.25rem;
	}
}

/* ==========================================================================
   13. AREA CORISTI — MENU DI GESTIONE  (settembre 2026)
   Menu di WordPress nella posizione "Gestione Area Coristi", stampato sotto
   il saluto e il ruolo, prima degli appuntamenti; lo vede solo
   l'amministratore. Le tendine ricalcano quella del menu "La Corale"
   (sezione 2): fondo avorio, bordo chiaro, voci in EB Garamond maiuscolo.
   Misure lette dal sito sulla tendina "La Corale" (radice 17px): voce
   15px peso 600; sottovoci 0.82rem peso 600, spaziatura 0.1em, righe alte
   30,6px, margini laterali 1.8rem; tendina con 0.7rem sopra e sotto,
   larga almeno 300px, staccata 0.6rem dalla voce. L'altezza delle righe
   e' ottenuta con interlinea normale e margini ridotti invece
   dell'interlinea quasi nulla di Astra, che sovrapporrebbe le righe se
   una voce andasse a capo.
   Sul computer si aprono anche al passaggio del mouse; fino a 768px le voci
   si impilano e la tendina si apre sotto la voce, toccando la freccia.
   Le dichiarazioni sui link sono forzate: il tema impone ai link
   display:flex, colore e sottolineatura disegnata con l'ombra.
   ========================================================================== */

.isg-gestione {
	margin: -0.8rem 0 2.2rem;
}
.isg-gestione-menu,
.isg-gestione-sotto {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.isg-gestione-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 2rem;
	border-top: 1px solid #E0D5C2;
	border-bottom: 1px solid #E0D5C2;
	padding: 0.2rem 0 !important;
}
.isg-gestione-voce {
	position: relative;
	margin: 0 !important;
}

/* Voce principale: stesso carattere delle voci del menu, freccia accanto. */
.isg-gestione summary,
.isg-gestione-voce > a.isg-gestione-link {
	display: inline-flex !important;
	align-items: center;
	gap: 0.3rem;
	padding: 0.55rem 0;
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase;
	letter-spacing: normal;
	font-size: 15px;
	font-weight: 600;
	color: #6B6154 !important;
	cursor: pointer;
	list-style: none;
	text-decoration: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}
.isg-gestione summary::-webkit-details-marker {
	display: none;
}
.isg-gestione summary:hover,
.isg-gestione details[open] > summary,
.isg-gestione-voce > a.isg-gestione-link:hover {
	color: #B5820A !important;
}
.isg-gestione-freccia {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	transition: transform 0.15s;
}
.isg-gestione details[open] .isg-gestione-freccia {
	transform: rotate(180deg);
}

/* Tendina */
.isg-gestione-sotto {
	position: absolute;
	top: 100%;
	left: -1rem;
	z-index: 20;
	min-width: 300px;
	margin-top: 0.6rem !important;
	background-color: #FAF6EF;
	border: 1px solid #E0D5C2;
	border-radius: 2px;
	box-shadow: 0 6px 20px rgba(46, 36, 25, 0.08);
	padding: 0.7rem 0 !important;
}

/* Ponte invisibile sopra la tendina: copre lo stacco dalla voce, cosi'
   passando col mouse dalla voce alla tendina questa non si chiude. */
.isg-gestione-sotto::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: calc(-0.6rem - 1px);
	height: calc(0.6rem + 1px);
}
.isg-gestione-sotto li {
	margin: 0 !important;
}
.isg-gestione-sotto a.isg-gestione-link {
	display: block !important;
	padding: 0.41rem 1.8rem;
	font-family: "EB Garamond", Garamond, serif !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.2;
	color: #6B6154 !important;
	white-space: nowrap;
	text-decoration: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}
.isg-gestione-sotto a.isg-gestione-link:hover,
.isg-gestione-sotto a.isg-gestione-link:focus {
	background-color: #F3EDE2;
	color: #B5820A !important;
}

/* Tablet e telefono: voci impilate, tendina sotto la voce e non sopra la
   pagina, come il menu "La Corale" nell'hamburger. */
@media (max-width: 768px) {
	.isg-gestione {
		margin-top: -0.6rem;
	}
	.isg-gestione-menu {
		flex-direction: column;
		gap: 0;
		padding: 0 !important;
	}
	.isg-gestione-voce + .isg-gestione-voce {
		border-top: 1px solid #EDE6D8;
	}
	.isg-gestione summary {
		display: flex !important;
		justify-content: space-between;
		width: 100%;
		padding: 0.75rem 0;
	}
	.isg-gestione-sotto {
		position: static;
		min-width: 0;
		margin-top: 0 !important;
		box-shadow: none;
		border: 0;
		background: transparent;
		padding: 0 0 0.5rem !important;
	}
	.isg-gestione-sotto a.isg-gestione-link {
		padding: 0.6rem 1rem;
	}
	.isg-gestione-sotto::before {
		content: none;
	}
}


/* ==========================================================================
   14. PULSANTI PDF E ZIP DEL DIRETTORE  (ottobre 2026)
   Al direttore, al posto di "Programma" (card dell'Area Coristi) e di
   "Scarica il PDF" (pagina dell'evento), due pulsanti: PDF e ZIP con gli
   spartiti completi. Stesso aspetto dei pulsanti che sostituiscono.
   ========================================================================== */

/* Card: i due link affiancati, a destra sulla riga della sede. */
.isg-coristi .isg-coristi-programma-azioni {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	flex-shrink: 0;
	margin-left: auto;
	position: relative;
	z-index: 2;
}
.isg-coristi .isg-coristi-programma-azioni .isg-coristi-programma {
	margin-left: 0;
}

/* Pagina evento: i due pulsanti uno accanto all'altro. */
.isg-programma-evento .isg-programma-scarica {
	display: flex;
	gap: 8px;
}

@media (max-width: 600px) {
	.isg-coristi .isg-coristi-programma-azioni {
		margin-left: 0;
	}
}
