/* Confindustria Brindisi: impianto editoriale, piatto.
   Colori e tipografia stanno in theme.json. Qui il ritmo: fasce piene alternate,
   angoli vivi, righe sottili, nessuna ombra. Vicino al riferimento nazionale
   senza esserne una copia. */

:root {
	--cb-ease: 0.3s ease;
	--cb-line-chiara: rgba(255, 255, 255, 0.22);
}

.wp-site-blocks { overflow-x: hidden; }

/* ---------------------------------------------------------------- header */

.cb-header {
	position: sticky;
	top: 0;
	z-index: 100;
	padding-top: 1.1rem;
	padding-bottom: 1.1rem;
	background: var(--wp--preset--color--primary);
	border-bottom: 1px solid var(--cb-line-chiara);
	transition: background var(--cb-ease), padding var(--cb-ease);
}

/* Come nel riferimento: in home l'header si appoggia trasparente sul video e
   diventa blu pieno appena si scorre. La classe la mette un rigo di JS. */
.home .cb-header {
	position: fixed;
	left: 0;
	right: 0;
	padding-top: 2.6rem;
	background: transparent;
	border-bottom-color: transparent;
}

/* Sfilato dal flusso l'header, quello che resta sopra il video è lo stacco che
   WordPress mette fra i blocchi: una riga bianca sottile. Va tolta. */
.home .wp-site-blocks > main { margin-block-start: 0 !important; }

/* Appoggiato sul blu pieno il respiro extra non serve più. */
.home .cb-header.is-scrolled { padding-top: 1.1rem; }

.home .cb-header.is-scrolled {
	background: var(--wp--preset--color--primary);
	border-bottom-color: var(--cb-line-chiara);
}

/* Il blocco navigazione di WordPress impone color:inherit alle voci: non basta
   colorare i link, va dato il colore all'header perché l'eredità arrivi giusta. */
.cb-header { color: #ffffff; }

.cb-header .wp-block-site-title a,
.cb-header .wp-block-navigation a,
.cb-header .wp-block-navigation-item__content,
.cb-header .wp-block-navigation-item__label { color: #ffffff; text-decoration: none; }

.cb-header .wp-block-navigation { font-size: 1.02rem; }

.cb-header .wp-block-navigation .wp-block-navigation-item > a {
	position: relative;
	padding-bottom: 6px;
}

/* Il riferimento segna la voce con una riga sotto: stessa idea, nostra misura. */
.cb-header .wp-block-navigation .wp-block-navigation-item > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: #ffffff;
	transform: scaleX(0);
	transition: transform var(--cb-ease);
}

.cb-header .wp-block-navigation .wp-block-navigation-item > a:hover::after,
.cb-header .wp-block-navigation .current-menu-item > a::after { transform: scaleX(1); }

/* Logo LILT (colorato, su trasparente): mostrato tal quale sul box bianco
   arrotondato dell'header. NIENTE filter (renderebbe bianco su bianco). */
.cb-header .wp-block-site-logo img {
	display: block;
	max-height: 58px;
	width: auto;
}

/* Col marchio davanti, il nome scritto accanto è un doppione. */
.cb-header .wp-block-site-title { display: none; }

/* I sottomenu escono col bianco predefinito di WordPress: qui prendono il blu
   del tema, angoli vivi e una riga sottile, come il resto. */
.cb-header .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--primary) !important;
	border: 1px solid var(--cb-line-chiara) !important;
	border-radius: 0 !important;
	padding: 0.4rem 0 !important;
	min-width: 250px;
}

.cb-header .wp-block-navigation__submenu-container li a {
	color: #ffffff !important;
	padding: 0.6rem 1.2rem !important;
	font-size: 0.95rem;
}

.cb-header .wp-block-navigation__submenu-container li a:hover {
	background: var(--wp--preset--color--primary-soft);
}

/* La riga sotto la voce è pensata per il primo livello: dentro al pannello
   creerebbe solo confusione. */
.cb-header .wp-block-navigation__submenu-container a::after { content: none !important; }

/* ------------------------------------------------------------------ hero */

/* A tutta pagina davvero. Il layout vincolato di WordPress impone i margini
   automatici con !important: senza pari forza l'hero resta un riquadro. */
.cb-hero {
	position: relative;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	min-height: 92vh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--wp--preset--color--primary);
}

/* Il video copre come una foto: riempie sempre il riquadro, qualunque sia la
   proporzione dello schermo, senza bande nere. */
.cb-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

/* Il velo non è uniforme: più fitto in basso, dove va il testo. */
.cb-hero__velo {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(160, 12, 27, 0.55) 0%, rgba(201, 15, 33, 0.42) 40%, rgba(120, 8, 20, 0.92) 100%);
}

.cb-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1340px;
	margin-inline: auto;
	padding: 0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--70);
}

.cb-hero .cb-scroll { position: absolute; left: 50%; bottom: 2rem; margin: 0; transform: translateX(-50%) rotate(45deg); z-index: 1; }

.cb-hero__title {
	color: #ffffff;
	font-size: clamp(2.3rem, 1.4rem + 3.4vw, 3.9rem);
	line-height: 1.1;
	max-width: 18ch;
	margin: 0;
}

.cb-hero__lead {
	color: rgba(255,255,255,.92);
	font-size: clamp(1.05rem, 1rem + 0.4vw, 1.25rem);
	max-width: 54ch;
	margin-top: 1.4rem;
}

/* Freccia in basso: invito a scorrere, come nel riferimento. */
.cb-scroll {
	display: block;
	width: 30px;
	height: 30px;
	margin: 2.6rem auto 0;
	border-right: 2px solid rgba(255, 255, 255, 0.7);
	border-bottom: 2px solid rgba(255, 255, 255, 0.7);
	transform: rotate(45deg);
	animation: cb-giu 2.4s ease-in-out infinite;
}

@keyframes cb-giu {
	0%, 100% { transform: rotate(45deg) translate(0, 0); opacity: 0.7; }
	50% { transform: rotate(45deg) translate(5px, 5px); opacity: 1; }
}

/* -------------------------------------------------------- fasce e titoli */

.cb-blu { background: var(--wp--preset--color--primary-soft); color: #ffffff; }
.cb-blu h2, .cb-blu h3 { color: #ffffff; }
.cb-blu p { color: rgba(255,255,255,.90); }

/* Testata di sezione: titolo a sinistra, azione a destra, riga sotto. */
.cb-sec-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	margin-bottom: 2.6rem;
}

.cb-blu .cb-sec-head { border-bottom-color: var(--cb-line-chiara); }
.cb-sec-head h2 { margin: 0; }
/* Sottotitolo di sezione: va SOTTO il titolo, a tutta larghezza (non a destra). */
.cb-sec-head > p { flex: 1 0 100%; margin: 0.5rem 0 0; font-size: 1rem; opacity: .92; }

/* Pillola con freccia in cerchio: la firma dei bottoni del riferimento. */
.cb-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.5rem 0.5rem 0.5rem 1.4rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	color: var(--wp--preset--color--primary);
	transition: background var(--cb-ease), color var(--cb-ease);
}

.cb-pill i {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	font-style: normal;
	transition: transform var(--cb-ease), background var(--cb-ease);
}

.cb-pill i::before {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid var(--wp--preset--color--primary);
	border-right: 2px solid var(--wp--preset--color--primary);
	transform: rotate(45deg) translate(-1px, 1px);
}

/* All'avvicinarsi del cursore la freccia fa un passo avanti: basta quello. */
.cb-pill:hover { background: var(--wp--preset--color--primary); color: #ffffff; }
.cb-pill:hover i { transform: translateX(3px); background: #ffffff; }

.cb-blu .cb-pill { color: #ffffff; }
.cb-blu .cb-pill:hover { background: #ffffff; color: var(--wp--preset--color--primary); }

/* Richiamo in coda alla scheda: peso leggero, non compete con la locandina. */
.cb-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	font-size: 0.93rem;
	text-decoration: none;
	color: var(--wp--preset--color--accent);
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
	transition: color var(--cb-ease);
}

.cb-link i {
	font-style: normal;
	width: 6px;
	height: 6px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform var(--cb-ease);
}

.cb-link:hover { color: #ffffff; }
.cb-link:hover i { transform: rotate(45deg) translate(2px, -2px); }

/* La prima sezione non deve staccarsi dalla hero: il video finisce e la fascia
   comincia, senza la riga di stacco che WordPress mette fra i blocchi. */
.cb-attaccata { margin-block-start: 0 !important; }

.cb-chiara { background: var(--wp--preset--color--surface); }

/* ------------------------------------------------------- in primo piano */

/* Le locandine degli eventi. Tre in fila, con la locandina in evidenza:
   è quella che porta la persona dentro la pagina di iscrizione. */
.cb-eventi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.4rem; }

/* Una locandina va letta tutta: si mostra intera su una base bianca, non
   ritagliata come una foto. Il riquadro resta della stessa misura per tutte.
   La proporzione sta sul riquadro e non sull'immagine, perché WordPress scrive
   l'altezza reale nell'attributo e quella vincerebbe sulla proporzione. */
.cb-evento__foto {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #ffffff;
	margin-bottom: 1.3rem;
}

.cb-evento__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.5s ease;
}

/* Le schede in fila devono chiudere allineate, qualunque sia la lunghezza del
   testo: il richiamo scende in fondo. */
.cb-evento { display: flex; flex-direction: column; }
.cb-evento .cb-link { margin-top: auto; align-self: flex-start; }

.cb-evento__foto:hover img { transform: scale(1.05); }

.cb-evento__occhiello {
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.6rem;
}

.cb-evento__titolo { font-size: 1.18rem; line-height: 1.35; margin: 0 0 0.7rem; }
.cb-evento__titolo a { color: inherit; text-decoration: none; }
.cb-evento__titolo a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cb-evento__testo { font-size: 0.97rem; margin: 0 0 1.1rem; }

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

.cb-evidenza { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }

.cb-evidenza__titolo {
	color: var(--wp--preset--color--primary);
	font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.1rem);
	line-height: 1.25;
	margin: 0 0 1.1rem;
}

/* Sul fondo blu l'azzurro chiaro è leggibile; sul chiaro no, e resta il blu. */
.cb-blu .cb-evidenza__titolo { color: var(--wp--preset--color--accent); }

.cb-evidenza img {
	width: 100%;
	max-height: 400px;
	object-fit: cover;
	display: block;
}

/* ------------------------------------------------------------- servizi */

/* Niente riquadri staccati: un reticolo continuo, come nell'editoriale. */
.cb-griglia {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--wp--preset--color--line);
	border: 1px solid var(--wp--preset--color--line);
}

/* Le griglie le dispone il CSS, non il flusso dei blocchi: WordPress metterebbe
   un margine in cima a ogni riquadro dopo il primo e la riga uscirebbe scalinata.
   Due classi di specificita, cosi vince sulla sua regola. */
.cb-griglia > :not(:first-child),
.cb-cbn > :not(:first-child) { margin-block-start: 0; }

.cb-cella { background: var(--wp--preset--color--base); padding: 2.2rem 1.9rem; transition: background var(--cb-ease); }
.cb-cella:hover { background: var(--wp--preset--color--surface); }
.cb-cella h3 { font-size: 1.15rem; margin: 0 0 0.6rem; color: var(--wp--preset--color--primary); }
.cb-cella p { color: var(--wp--preset--color--muted); margin: 0; font-size: 0.98rem; }

.cb-cella__n {
	display: block;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.9rem;
}

/* ---------------------------------------------------------------- CBN */

/* La sigla sopra il titolo, come nel loro, ma leggibile: nel riferimento le due
   parti sono attaccate e si leggono come una parola sola. */
.cb-cbn-head { align-items: flex-end; }
.cb-cbn-sigla {
	display: block;
	font-size: clamp(2.4rem, 1.8rem + 2.4vw, 3.6rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--accent);
}

.cb-cbn-head h2 { font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem); font-weight: 500; margin-top: 0.5rem; }

.cb-cbn { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--cb-line-chiara); border: 1px solid var(--cb-line-chiara); }

/* Quattro percorsi affiancati: il riquadro si schiarisce al passaggio e la
   freccia avanza, così si capisce che si entra da qualche parte. */
.cb-cbn__voce {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2.4rem 1.8rem;
	background: var(--wp--preset--color--primary-soft);
	color: #ffffff;
	text-decoration: none;
	transition: background var(--cb-ease);
}

.cb-cbn__voce:hover { background: var(--wp--preset--color--primary); }

.cb-cbn__n {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--accent);
	margin-bottom: 1.4rem;
}

.cb-cbn__voce h3 { font-size: 1.2rem; line-height: 1.3; margin: 0 0 0.8rem; color: #ffffff; }
.cb-cbn__voce p { font-size: 0.95rem; margin: 0; color: rgba(255,255,255,.85); }

.cb-cbn__freccia {
	position: absolute;
	left: 1.8rem;
	bottom: 2.2rem;
	width: 34px;
	height: 34px;
	border: 1px solid var(--cb-line-chiara);
	border-radius: 50%;
	display: grid;
	place-items: center;
	transition: transform var(--cb-ease), background var(--cb-ease), border-color var(--cb-ease);
}

.cb-cbn__freccia::before {
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotate(45deg) translate(-1px, 1px);
}

.cb-cbn__voce:hover .cb-cbn__freccia {
	transform: translateX(5px);
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
}

.cb-cbn__voce:hover .cb-cbn__freccia::before { border-color: var(--wp--preset--color--primary); }

/* ------------------------------------------------------------- numeri */

.cb-numeri { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.cb-numeri div { text-align: center; }
.cb-numeri b { display: block; font-size: clamp(2rem, 1.4rem + 2vw, 3rem); font-weight: 700; line-height: 1; color: #ffffff; }
.cb-numeri span { display: block; margin-top: 0.5rem; font-size: 0.92rem; color: rgba(255,255,255,.85); }

/* ---------------------------------------------------------------- FAQ */

.gaw-faq { max-width: 900px; }
.gaw-faq__item { border-bottom: 1px solid var(--wp--preset--color--line); background: transparent; }

.gaw-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 1.3rem 3rem 1.3rem 0;
	position: relative;
	font-weight: 600;
	font-size: 1.08rem;
	color: var(--wp--preset--color--primary);
}

.gaw-faq__q::-webkit-details-marker { display: none; }

.gaw-faq__q::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 1.7rem;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--wp--preset--color--accent);
	border-bottom: 2px solid var(--wp--preset--color--accent);
	transform: rotate(45deg);
	transition: transform var(--cb-ease);
}

.gaw-faq__item[open] .gaw-faq__q::after { transform: rotate(-135deg); }
.gaw-faq__a { padding: 0 3rem 1.4rem 0; color: var(--wp--preset--color--muted); }
.gaw-faq__a p { margin: 0; color: var(--wp--preset--color--muted); }

/* -------------------------------------------------- pagine del network */

/* Vetrina di storie e opinioni: la foto comanda, il nome sotto. */
.cb-vetrina { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin: 2.4rem 0 3.4rem; }
.cb-vetrina--quattro { grid-template-columns: repeat(4, 1fr); }

.cb-vetrina figure { margin: 0; }

.cb-vetrina img {
	display: block;
	width: 100%;
	aspect-ratio: 27 / 16;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.cb-vetrina figure:hover img { transform: scale(1.04); }
.cb-vetrina figcaption { margin-top: 0.9rem; font-weight: 600; color: var(--wp--preset--color--primary); }
.cb-vetrina figcaption span { display: block; font-weight: 400; font-size: 0.86rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-bottom: 0.3rem; }

/* Rassegna stampa: righe sottili, data a sinistra, titolo che pesa. */
.cb-rassegna { list-style: none; margin: 2.4rem 0 0; padding: 0; border-top: 1px solid var(--wp--preset--color--line); }

.cb-rassegna li {
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 1.4rem;
	padding: 1.3rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.cb-rassegna time { font-size: 0.9rem; letter-spacing: 0.06em; color: var(--wp--preset--color--muted); padding-top: 0.15rem; }
.cb-rassegna b { font-weight: 600; color: var(--wp--preset--color--primary); line-height: 1.45; }

/* Blocco di aiuto in fondo alle pagine del network, come nel loro. */
.cb-aiuto {
	margin-top: 3.6rem;
	padding: 2.4rem;
	background: var(--wp--preset--color--surface);
	border-left: 3px solid var(--wp--preset--color--accent);
}

.cb-aiuto h2 { margin: 0 0 0.6rem; font-size: 1.3rem; color: var(--wp--preset--color--primary); }
.cb-aiuto p { margin: 0 0 1.2rem; color: var(--wp--preset--color--muted); }

@media (max-width: 1024px) {
	.cb-vetrina, .cb-vetrina--quattro { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.cb-vetrina, .cb-vetrina--quattro { grid-template-columns: 1fr; }
	.cb-rassegna li { grid-template-columns: 1fr; gap: 0.35rem; }
}

/* ------------------------------------------- pagine ricostruite dal sito */

/* Celle che sono anche collegamenti: stesso reticolo dei servizi in home. */
.cb-cella--link { display: block; text-decoration: none; }
.cb-cella--link h3 { color: var(--wp--preset--color--primary); }
.cb-cella--link:hover h3 { text-decoration: underline; text-underline-offset: 4px; }

.cb-organigramma img { width: 100%; height: auto; }

.cb-foto { margin: 0 0 2.4rem; }
.cb-foto img { width: 100%; height: auto; display: block; }

/* Documenti scaricabili: si deve capire a colpo d'occhio che è un PDF. */
.cb-documenti { display: grid; gap: 1px; background: var(--wp--preset--color--line); border: 1px solid var(--wp--preset--color--line); margin-top: 1.4rem; }

.cb-doc {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.3rem;
	background: var(--wp--preset--color--base);
	text-decoration: none;
	transition: background var(--cb-ease);
}

.cb-doc:hover { background: var(--wp--preset--color--surface); }

.cb-doc__tipo {
	flex: 0 0 auto;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #ffffff;
	background: var(--wp--preset--color--primary);
	padding: 0.25rem 0.5rem;
}

.cb-doc b { font-weight: 500; color: var(--wp--preset--color--primary); }

/* Referente di un servizio: il nome e come raggiungerlo, senza fronzoli. */
.cb-referente {
	margin-top: 2.6rem;
	padding: 1.6rem 1.8rem;
	background: var(--wp--preset--color--surface);
	border-left: 3px solid var(--wp--preset--color--accent);
}

.cb-referente span {
	display: block;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.4rem;
}

.cb-referente b { font-size: 1.1rem; color: var(--wp--preset--color--primary); }
.cb-referente p { margin: 0.5rem 0 0; color: var(--wp--preset--color--muted); font-size: 0.96rem; }
.cb-referente a { color: var(--wp--preset--color--primary); }

.cb-contatti { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.4rem; margin-bottom: 3rem; }
.cb-contatti h3 { font-size: 0.82rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin: 0 0 0.5rem; }
.cb-contatti h3 + p { margin: 0 0 1.6rem; }
.cb-contatti a { color: var(--wp--preset--color--primary); }

/* ------------------------------------------------------------ modulo contatti */

.cb-form-wrap { max-width: 760px; }
.cb-form__riga { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.cb-campo { display: block; margin-bottom: 1.2rem; }
.cb-campo span { display: block; font-weight: 600; font-size: 0.94rem; margin-bottom: 0.4rem; }
.cb-campo b { color: #c0392b; }

.cb-campo input,
.cb-campo select,
.cb-campo textarea {
	width: 100%;
	padding: 0.8rem 1rem;
	font: inherit;
	color: inherit;
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 2px;
}

.cb-campo input:focus-visible,
.cb-campo select:focus-visible,
.cb-campo textarea:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 1px; }

.cb-consenso { margin: 1rem 0; font-size: 0.92rem; line-height: 1.55; }
.cb-consenso__label { display: flex; gap: 0.6rem; align-items: flex-start; cursor: pointer; }
.cb-consenso input { margin-top: 0.25rem; }
.cb-consenso a { color: var(--wp--preset--color--primary); }

.cb-form__invia {
	margin-top: 1rem;
	padding: 0.9rem 2.2rem;
	font: inherit;
	font-weight: 600;
	color: #ffffff;
	background: var(--wp--preset--color--primary);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}

.cb-form__invia:hover { background: var(--wp--preset--color--primary-soft); }

.cb-nota { padding: 1rem 1.2rem; border-left: 4px solid; margin-bottom: 1.6rem; }
.cb-nota--ok { border-color: #2e7d32; background: rgba(46, 125, 50, 0.08); }
.cb-nota--ko { border-color: #c0392b; background: rgba(192, 57, 43, 0.08); }

@media (max-width: 781px) {
	.cb-contatti { grid-template-columns: 1fr; gap: 1.6rem; }
	.cb-form__riga { grid-template-columns: 1fr; gap: 0; }
}

/* ------------------------------------------------------- pagine interne */

.cb-page-head { background: var(--wp--preset--color--primary); }
.cb-page-head .wp-block-post-title { color: #ffffff; margin: 0; max-width: 22ch; }
.wp-block-post-content h2 { margin-top: 2.6rem; }
.wp-block-post-content h3 { margin-top: 1.8rem; }
.wp-block-post-content ul li { margin-bottom: 0.45rem; }

/* ---------------------------------------------------------- elenco eventi */

.cb-archivio-titolo { color: #ffffff; margin: 0; }
.cb-archivio-sottotitolo { color: rgba(255,255,255,.85); margin: 0.8rem 0 0; max-width: 52ch; }

/* Filtro per mese: le stesse pillole dei richiami, in versione compatta. */
.gaw-ev-mesi { margin-bottom: 2.8rem; }

.post-type-archive-gaw_evento .gaw-ev-mese {
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--line);
	opacity: 1;
}

.post-type-archive-gaw_evento .gaw-ev-mese:hover { background: var(--wp--preset--color--surface); }

.post-type-archive-gaw_evento .gaw-ev-mese.is-attivo {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #ffffff;
	box-shadow: none;
}

.post-type-archive-gaw_evento .gaw-ev-pagina {
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--line);
	opacity: 1;
}

.post-type-archive-gaw_evento .gaw-ev-pagina.is-attivo,
.post-type-archive-gaw_evento .gaw-ev-pagina:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #ffffff;
}

/* Nell'elenco le schede stanno su fondo chiaro: i colori vanno ribaltati
   rispetto alla fascia blu della home. */
.post-type-archive-gaw_evento .cb-evento__foto { background: var(--wp--preset--color--surface); }
.post-type-archive-gaw_evento .cb-evento__titolo { color: var(--wp--preset--color--primary); }
.post-type-archive-gaw_evento .cb-evento__testo { color: var(--wp--preset--color--muted); }
.post-type-archive-gaw_evento .cb-evento__occhiello { color: var(--wp--preset--color--primary-soft); }
.post-type-archive-gaw_evento .cb-link { color: var(--wp--preset--color--primary); }
.post-type-archive-gaw_evento .cb-link:hover { color: var(--wp--preset--color--primary-soft); }

/* -------------------------------------------------- pagina del singolo evento */

/* Pagina dedicata, senza menu: chi arriva qui deve solo leggere la locandina e
   iscriversi. Fondo blu pieno, marchio in alto, riferimenti in fondo. */

.single-gaw_evento .wp-site-blocks { background: var(--wp--preset--color--primary); }
.cb-ev-testata { background: transparent; }
.cb-ev-testata .wp-block-site-logo img { filter: brightness(0) invert(1); margin-inline: auto; }

.cb-ev-pagina { background: transparent; }

/* Locandina e scheda sono un foglio solo: lo stacco fra blocchi va tolto. */
.cb-ev-locandina { margin: 0 auto !important; }
.cb-ev-locandina img { display: block; width: 100%; height: auto; }

/* La scheda bianca sotto la locandina tiene insieme titolo, testo e modulo. */
.cb-ev-scheda { background: #ffffff; margin-block-start: 0 !important; }
.cb-ev-scheda .wp-block-post-title { color: var(--wp--preset--color--primary); font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem); margin: 0; }

.gaw-ev-dati {
	text-align: center;
	margin: 1rem 0 2.2rem;
	color: var(--wp--preset--color--muted);
	font-size: 1.02rem;
}

.gaw-ev-dati span { display: block; }
.gaw-ev-dati__quando { font-weight: 700; color: var(--wp--preset--color--primary-soft); }

.cb-ev-scheda .wp-block-post-content { margin-bottom: 2.6rem; }

/* Il modulo eredita i colori del tema: qui basta separarlo dal testo. */
.cb-ev-scheda .gaw-ev-form-wrap { border-top: 1px solid var(--wp--preset--color--line); padding-top: 2.2rem; }
.cb-ev-scheda .gaw-ev-form__titolo { color: var(--wp--preset--color--primary); text-align: center; margin-bottom: 1.8rem; }
.cb-ev-scheda .gaw-ev-invia { background: var(--wp--preset--color--primary); display: block; margin-inline: auto; }

.cb-ev-piede { background: transparent; color: rgba(255,255,255,.90); text-align: center; }
.cb-ev-piede__titolo { color: #ffffff; font-size: 1.2rem; margin-bottom: 0.8rem; }
.cb-ev-piede a { color: #ffffff; text-decoration: none; }
.cb-ev-piede a:hover { text-decoration: underline; }
.cb-ev-piede__nota { margin-top: 1.6rem; font-size: 0.9rem; color: rgba(255,255,255,.70); }

/* ------------------------------------------------------------- footer */

.cb-footer { background: var(--wp--preset--color--primary-soft); color: #ffffff; }
.cb-footer h3 { color: #ffffff; font-size: 0.95rem; letter-spacing: 0.08em; text-transform: uppercase; }
.cb-footer a { color: #ffffff; text-decoration: none; }
.cb-footer a:hover { color: #ffffff; text-decoration: underline; }
.cb-footer p { color: #ffffff; }

/* ------------------------------------------------------------- responsive */

@media (max-width: 1024px) {
	.cb-cbn { grid-template-columns: repeat(2, 1fr); }
	.cb-griglia { grid-template-columns: repeat(2, 1fr); }
	.cb-numeri { grid-template-columns: repeat(2, 1fr); }
	.cb-evidenza { grid-template-columns: 1fr; gap: 2rem; }
	.cb-eventi { grid-template-columns: repeat(2, 1fr); gap: 1.8rem; }
}

@media (max-width: 781px) {
	.cb-cbn { grid-template-columns: repeat(2, 1fr); }
	.cb-griglia { grid-template-columns: repeat(2, 1fr); }
	.cb-eventi { grid-template-columns: 1fr; }
	.cb-hero { min-height: 62vh; }
	.cb-hero__title { max-width: none; }
}

/* Anchor link fluidi (menu desktop + mobile), con offset per l'header sticky */
html { scroll-behavior: smooth; scroll-padding-top: 92px; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, .cb-scroll { transition: none !important; animation: none !important; }
}

/* --- Bottoni LILT (hero + CTA) --- */
.cb-hero__cta{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:1.75rem}
.cb-btn{display:inline-block;background:var(--wp--preset--color--primary);color:#fff;font-weight:700;padding:.85rem 1.9rem;border-radius:4px;text-decoration:none;border:2px solid var(--wp--preset--color--primary);transition:background .2s,color .2s,border-color .2s}
.cb-btn:hover{background:var(--wp--preset--color--primary-soft);border-color:var(--wp--preset--color--primary-soft);color:#fff}
.cb-btn--white{background:#fff;color:var(--wp--preset--color--primary);border-color:#fff}
.cb-btn--white:hover{background:transparent;color:#fff;border-color:#fff}
.cb-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.65)}
.cb-btn--ghost:hover{background:#fff;color:var(--wp--preset--color--primary);border-color:#fff}

/* --- LILT: marchio testuale nell'header finché non c'è il logo --- */
.cb-header .wp-block-site-title { display: block; }
.cb-header .wp-block-site-title a { color: #ffffff; font-weight: 800; font-size: 1.3rem; text-decoration: none; }
.cb-area { padding: .5rem 1.15rem; font-size: .9rem; }
/* Header mobile a due righe: logo centrato sopra, sotto i due bottoni
   (Iscriviti + Area riservata) e l'hamburger, tutti centrati insieme. */
@media (max-width: 600px){
	.cb-header .alignwide{ flex-direction: column; align-items: center; gap: .7rem; }
	/* I due bottoni restano centrati sotto il marchio; l'icona del menu esce dal
	   flusso e va all'estrema destra, così è staccata e i bottoni non si
	   spostano di lato per farle spazio.
	   Il riquadro ha già un rientro suo (padding globale del tema): lo si toglie
	   dal margine voluto, altrimenti l'icona resta più dentro di quanto chiesto.
	   Lo spazio riservato ai lati impedisce ai bottoni di finirle sotto. */
	.cb-header .alignwide > .wp-block-group:last-child{
		position: relative;
		width: 100%;
		justify-content: center;
		gap: .45rem;
		padding-inline: 40px;
	}
	.cb-header .wp-block-navigation{
		position: absolute;
		right: calc(20px - var(--wp--preset--spacing--30, 11px));
		top: 50%;
		transform: translateY(-50%);
	}
	.cb-header .wp-block-site-logo img{ max-height: 48px; padding: 5px 10px; }
	.cb-header .cb-btn{ padding: .5rem .75rem; font-size: .78rem; white-space: nowrap; }
	.cb-hbtn + .cb-hbtn{ margin-left: .4rem; }

	/* L'icona del menu era più piccola dei bottoni accanto: si fatica a
	   centrarla col pollice. Cresce l'icona, non solo l'area toccabile. */
	.cb-header .wp-block-navigation__responsive-container-open{ padding: .2rem; }
	.cb-header .wp-block-navigation__responsive-container-open svg{ width: 32px; height: 32px; }
}

/* Sul telefono "Area riservata" è troppo lungo per stare centrato e lasciare
   spazio all'icona del menu: diventa "Accedi". Sono due testi veri, uno dei due
   nascosto, così i lettori di schermo leggono comunque un'etichetta sensata. */
.cb-breve { display: none; }

@media (max-width: 600px){
	.cb-esteso { display: none; }
	.cb-breve { display: inline; }
}

/* Sotto i 390px i bottoni si stringono ancora un po' invece di andare a capo. */
@media (max-width: 390px){
	.cb-header .alignwide > .wp-block-group:last-child{ padding-inline: 34px; gap: .35rem; }
	.cb-header .cb-btn{ padding: .42rem .55rem; font-size: .72rem; }
}

/* Menu overlay mobile: fondo rosso brand + voci bianche ben visibili.
   (Fix: senza questo, l'overlay bianco di WP + il testo bianco di .cb-header
    rendevano le voci invisibili — "menu vuoto".) */
.cb-header .wp-block-navigation__responsive-container.is-menu-open{
	background-color: var(--wp--preset--color--primary) !important;
	color: #fff !important;
}
.cb-header .wp-block-navigation__responsive-container.is-menu-open a,
.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label{ color: #fff !important; }
.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{ color: #fff; }

/* Voci del menu mobile centrate. Nel pannello a tutto schermo WordPress eredita
   l'allineamento a destra dell'header (`items-justified-right`): serve pari
   forza, altrimenti le voci restano appiccicate al bordo. */
.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
	align-items: center !important;
	justify-content: center !important;
	text-align: center;
	gap: .35rem;
	width: 100%;
}
/* Ogni voce è a sua volta una colonna: l'allineamento orizzontale lo decide
   align-items, non justify-content. Con quest'ultimo restavano a destra. */
.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
	align-items: center !important;
	justify-content: center;
	width: 100%;
}
.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{ font-size: 1.15rem; padding: .45rem 0; }

/* Chi siamo senza immagine: testo su colonna unica più larga */
.cb-evidenza--sola{grid-template-columns:1fr;max-width:900px}

/* Chi siamo: foto reale di Brindisi con credito */
.cb-foto-brindisi{margin:0 auto 2.6rem;max-width:1100px}
.cb-foto-brindisi img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.12)}
.cb-foto-brindisi figcaption{margin-top:.55rem;font-size:.82rem;color:var(--wp--preset--color--muted);text-align:center}
.cb-foto-brindisi figcaption a{color:inherit;text-decoration:underline}

/* --- LILT: logo su fondo bianco arrotondato (header rosso + footer scuro) --- */
.cb-header .wp-block-site-logo img,
.cb-footer .wp-block-site-logo img{background:#fff;padding:8px 14px;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.10)}
.cb-footer .wp-block-site-logo{margin-bottom:.4rem}

/* Bottoni header: compatti e affiancati (Iscriviti + Area riservata) */
.cb-header .cb-btn{padding:.58rem 1.2rem;font-size:.95rem}
.cb-hbtn + .cb-hbtn{margin-left:.6rem}

/* Organigramma e direttivo: schede ruolo centrate */
.cb-cella--persona{text-align:center}
.cb-cella--persona h3{margin-bottom:.35rem}
.cb-cella--persona p{color:var(--wp--preset--color--muted)}
.cb-griglia--due{grid-template-columns:repeat(2,1fr);max-width:780px;margin-inline:auto}
/* Obiettivi: sono 7 in griglia da 4 → l'ultimo occupa 2 celle così non resta il riquadro vuoto */
.cb-cbn__voce:last-child{grid-column:span 2}
.cb-direttivo-nota{text-align:center;color:var(--wp--preset--color--muted);margin-top:1.8rem;font-size:.98rem}

/* Campagne nazionali: card cliccabili verso il sito nazionale */
.cb-cella__vai{display:inline-block;margin-top:1rem;font-size:.88rem;font-weight:700;color:var(--wp--preset--color--primary)}
.cb-cella__vai::after{content:" \2197"}
.cb-cella--link:hover .cb-cella__vai{text-decoration:underline;text-underline-offset:3px}

/* Eventi: messaggio quando non ci sono ancora eventi pubblicati */
.cb-eventi-vuoto{max-width:760px;margin:0 auto;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.20);border-radius:14px;padding:2.4rem 2rem}
.cb-eventi-vuoto p{margin:0;font-size:1.08rem;line-height:1.7}

/* Contatti: recapiti reali sopra il form */
.cb-contatti-info{text-align:center;margin:0 auto 2.2rem}
.cb-contatti-info p{margin:.3rem 0;color:var(--wp--preset--color--muted)}
.cb-contatti-info a{color:var(--wp--preset--color--primary);text-decoration:none;font-weight:600}
.cb-contatti-info a:hover{text-decoration:underline}

/* Donazioni libere (fascia cb-blu, testo bianco) — QR PayPal + bottone */
.cb-dona{text-align:center}
.cb-dona .cb-sec-head{justify-content:center}
.cb-dona__paypal{display:flex;flex-direction:column;align-items:center;gap:1.1rem;margin:1.9rem 0 1.3rem}
.cb-dona__qr{background:#fff;padding:10px;border-radius:12px;width:190px;height:190px}
.cb-dona__nota{color:rgba(255,255,255,.85);font-size:.95rem}

/* --------------------------------------------------- finestrella informativa */

/* Elemento <dialog> nativo: niente libreria, e il browser gestisce da sé
   tastiera, tasto Esc e lettori di schermo. */
.cb-modale {
	border: 0;
	padding: 0;
	background: transparent;
	max-width: min(92vw, 520px);
	color: var(--wp--preset--color--contrast);
}

.cb-modale::backdrop { background: rgba(0, 0, 0, 0.55); }

.cb-modale__box {
	background: #ffffff;
	border-radius: 14px;
	padding: 1.8rem 1.7rem 1.6rem;
	text-align: left;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
}

.cb-modale__box h3 { margin: 0 0 0.8rem; color: var(--wp--preset--color--primary); font-size: 1.2rem; }
.cb-modale__box p { color: var(--wp--preset--color--contrast); font-size: 0.96rem; margin: 0 0 1rem; }

.cb-modale__dati { display: grid; gap: 0.3rem 0; margin: 0 0 1rem; }
.cb-modale__dati dt { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.6; }
.cb-modale__dati dd { margin: 0 0 0.8rem; display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }

/* L'IBAN va letto carattere per carattere: spaziatura ampia e non a capo. */
.cb-modale__dati code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	background: var(--wp--preset--color--surface, #f6f2f2);
	padding: 0.4rem 0.6rem;
	border-radius: 6px;
	word-break: break-all;
}

.cb-modale__copia {
	padding: 0.35rem 0.8rem;
	font: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	background: transparent;
	border: 1px solid currentColor;
	border-radius: 999px;
	cursor: pointer;
}

.cb-modale__nota { font-size: 0.88rem !important; opacity: 0.75; }
.cb-modale .cb-btn { margin-top: 0.4rem; }

/* Senza JavaScript il <dialog> non si apre: il bottone resta inerte, quindi
   i dati del bonifico restano comunque raggiungibili dal footer e dai contatti. */

/* ------------------------------------------------------------------ social */

.cb-social { display: flex; gap: 0.6rem; margin-top: 1.1rem; }

.cb-social__voce {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.4);
	color: #ffffff;
	transition: background 0.3s ease, border-color 0.3s ease;
}

.cb-social__voce:hover { background: #ffffff; color: var(--wp--preset--color--primary-soft); border-color: #ffffff; }

/* ------------------------------------------------------------ nota sezione */

.cb-sec-nota { margin-top: 2rem; text-align: center; }

.cb-btn--outline {
	border: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	background: transparent;
}

.cb-btn--outline:hover { background: var(--wp--preset--color--primary); color: #ffffff; }

/* ------------------------------- hero e header: niente sovrapposizioni */

/* L'altezza dell'header la misura il JS e la mette in --cb-header-h. Su telefono
   l'header va su due righe e resta fisso sopra il video: senza questo spazio il
   titolo dell'hero gli finisce sotto. */
.cb-hero__inner { padding-top: calc(var(--cb-header-h, 90px) + 1.2rem); }

html { scroll-padding-top: calc(var(--cb-header-h, 92px) + 10px); }

@media (max-width: 781px) {
	/* Su telefono serve più altezza: l'header ne mangia una fetta e il testo
	   dell'hero è più lungo perché va a capo di più. */
	.cb-hero { min-height: 92svh; }
	/* Il testo dell'hero si alza: in fondo c'è la freccia che invita a scorrere,
	   e senza questo spazio ci finiva sopra. */
	.cb-hero__inner { padding-bottom: 5rem; }
	.cb-hero__title { font-size: clamp(2rem, 1.2rem + 5vw, 2.6rem); }
	.cb-hero__cta { justify-content: flex-start; }
	.cb-modale__box { padding: 1.4rem 1.2rem; }
}

/* Le schede di campagne e pubblicazioni erano un link che avvolgeva tutta la scheda.
   Diventate blocchi il link sta sul titolo: qui si riallarga a tutta la scheda, cosi'
   al clic si comporta come prima. */
.cb-cella--link { position: relative; }
.cb-cella--link h3 a { color: inherit; text-decoration: none; }
.cb-cella--link h3 a::after { content: ""; position: absolute; inset: 0; }
