/* =========================================================================
   BCM — stili del tema che theme.json non sa esprimere.
   Colori, font e misure vengono dalle variabili di theme.json (--wp--preset--*):
   qui si usano sempre quelle, mai un colore scritto a mano.
   ========================================================================= */

:root {
	--bcm-verde: var(--wp--preset--color--verde);
	--bcm-verde-2: var(--wp--preset--color--verde-2);
	--bcm-notte: var(--wp--preset--color--notte);
	--bcm-lime: var(--wp--preset--color--lime);
	--bcm-lime-chiaro: var(--wp--preset--color--lime-chiaro);
	--bcm-carta: var(--wp--preset--color--carta);
	--bcm-inchiostro: var(--wp--preset--color--inchiostro);
	--bcm-grigio: var(--wp--preset--color--grigio);
	--bcm-linea: var(--wp--preset--color--linea);
	--bcm-display: var(--wp--preset--font-family--display);
	--bcm-r: 14px;
	--bcm-righe: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 22px, transparent 22px 44px);
}

body { -webkit-font-smoothing: antialiased; }
/* Le parti della pagina (intestazione, contenuto, piè) si toccano: niente spazio bianco fra loro. */
.wp-site-blocks > *, .wp-site-blocks > main > *, .wp-site-blocks > main.wp-block-group > * { margin-block-start: 0 !important; }
img { height: auto; }
:where(a) { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--bcm-lime); outline-offset: 3px; }
.screen-reader-text:focus { clip: auto !important; }

/* Salta al contenuto */
.bcm-salta { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; padding: .75rem 1rem; }
.bcm-salta:focus { left: 1rem; top: 1rem; }

/* ---------- Barra in alto ---------- */
.bcm-topbar { background: var(--bcm-notte); color: #cfe3d5; font-size: .8125rem; }
.bcm-topbar p { margin: 0; }
.bcm-topbar a { color: inherit; text-decoration: none; }
.bcm-topbar a:hover { color: #fff; }
.bcm-topbar .bcm-cf { color: var(--bcm-lime); font-weight: 600; }

/* ---------- Intestazione ---------- */
.bcm-header { background: var(--bcm-verde); position: relative; z-index: 20; }
.bcm-header > .wp-block-group { min-height: 84px; }
.bcm-marchio { gap: .75rem !important; text-decoration: none; }
.bcm-marchio .wp-block-site-logo img {
	background: #fff; border-radius: 50%; padding: 3px;
	box-shadow: 0 6px 18px rgba(0,0,0,.25); margin-bottom: -26px;
}
.bcm-marchio-testo { line-height: .9 !important; margin: 0 !important; }
.bcm-marchio-testo a { text-decoration: none; color: inherit; }
.bcm-marchio-testo .bcm-m1 { display: block; font-family: var(--bcm-display); font-weight: 800; text-transform: uppercase; font-size: 1.65rem; color: #fff; letter-spacing: .01em; }
/* Correzione richiesta: "Mondovì" grande e leggibile, non un sottotitolo. */
.bcm-marchio-testo .bcm-m2 { display: block; font-family: var(--bcm-display); font-weight: 800; text-transform: uppercase; font-size: 1.65rem; color: var(--bcm-lime); letter-spacing: .06em; }

.bcm-header .bcm-nav, .bcm-header .bcm-nav .wp-block-navigation-item { color: #e8f2eb; }
.bcm-header .bcm-nav .wp-block-navigation-submenu__toggle { color: #e8f2eb; }
.bcm-header .bcm-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { color: #e8f2eb; }
.bcm-nav .wp-block-navigation-item__content { color: #e8f2eb; padding: .5rem .75rem; border-radius: 6px; text-decoration: none; }
.bcm-nav .wp-block-navigation-item__content:hover,
.bcm-nav .current-menu-item > .wp-block-navigation-item__content { background: rgba(255,255,255,.08); color: #fff; }
.bcm-nav .wp-block-navigation__submenu-container {
	background: #fff !important; border: 0 !important; border-radius: 12px; padding: .5rem !important;
	box-shadow: var(--wp--preset--shadow--alta); min-width: 240px !important;
}
.bcm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--bcm-inchiostro); font-family: var(--wp--preset--font-family--testo); text-transform: none; font-weight: 600; font-size: 1rem;
}
.bcm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--bcm-carta); color: var(--bcm-verde); }

/* Menu da telefono (overlay del blocco Navigazione) */
.bcm-nav .wp-block-navigation__responsive-container-open {
	width: 46px; height: 46px; border-radius: 10px; background: rgba(255,255,255,.12); color: #fff;
	align-items: center; justify-content: center;
}
@media (max-width: 599px) { .bcm-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; } }
.bcm-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.bcm-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--bcm-verde) !important; background-image: var(--bcm-righe) !important; color: #fff !important; padding: 1.5rem !important;
}
.bcm-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; gap: .25rem; align-items: flex-start !important; }
.bcm-nav .is-menu-open :is(.wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; }
.bcm-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.9rem !important; padding: .35rem 0 !important; color: #fff !important; }
.bcm-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; box-shadow: none; padding: 0 0 .5rem 1rem !important;
}
.bcm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1.1rem !important; color: #cfe3d5 !important; font-family: var(--wp--preset--font-family--testo);
}
.bcm-nav .wp-block-navigation__responsive-container-close { color: #fff; }
.bcm-nav .wp-block-navigation__responsive-container-close svg { width: 32px; height: 32px; }

.bcm-cta .wp-block-button__link { white-space: nowrap; }

@media (max-width: 781px) {
	.bcm-topbar { display: none; }
	.bcm-header > .wp-block-group { min-height: 68px; }
	.bcm-marchio .wp-block-site-logo img { width: 52px !important; margin-bottom: -18px; }
	.bcm-marchio-testo .bcm-m1, .bcm-marchio-testo .bcm-m2 { font-size: 1.3rem; }
	.bcm-cta .wp-block-button__link { font-size: 1rem; padding: .5rem .9rem; }
}

/* ---------- Testata di pagina (una sola impaginazione per tutto il sito) ---------- */
.bcm-testata, .is-style-fascia-verde {
	background-color: var(--bcm-verde); background-image: var(--bcm-righe); color: #fff;
}
.bcm-testata { position: relative; overflow: hidden; }
.bcm-testata h1, .bcm-testata .wp-block-post-title, .is-style-fascia-verde :where(h1,h2,h3) { color: #fff; }
.bcm-testata .bcm-briciole { font-size: .8125rem; color: #a9c4b1; margin: 0 0 1rem; }
.bcm-testata .bcm-briciole a { color: #fff; text-decoration: none; }
.bcm-testata .bcm-briciole a:hover { text-decoration: underline; }
.bcm-testata .bcm-testata-sotto { color: #d9e8de; font-size: 1.125rem; max-width: 640px; }
.bcm-testata.ha-foto { min-height: 340px; display: flex; align-items: flex-end; }
.bcm-testata .bcm-testata-foto { position: absolute; inset: 0; z-index: 0; }
.bcm-testata .bcm-testata-foto img { width: 100%; height: 100%; object-fit: cover; }
.bcm-testata .bcm-testata-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,74,40,.55), rgba(6,43,23,.92)); }
.bcm-testata > * { position: relative; z-index: 1; }

/* Etichetta (categoria, squadra) */
.bcm-tag, .bcm-testata .wp-block-post-terms a, .bcm-card .wp-block-post-terms a {
	display: inline-block; background: var(--bcm-lime); color: var(--bcm-notte); text-decoration: none;
	font: 800 .75rem/1 var(--wp--preset--font-family--testo); letter-spacing: .08em; text-transform: uppercase;
	padding: .35rem .6rem; border-radius: 4px;
}
.bcm-testata .wp-block-post-terms__separator, .bcm-card .wp-block-post-terms__separator { display: none; }
.bcm-testata .wp-block-post-terms { display: flex; gap: .4rem; flex-wrap: wrap; }

/* Occhiello sopra i titoli di sezione */
.is-style-occhiello {
	font: 700 .8125rem/1.2 var(--wp--preset--font-family--testo) !important; letter-spacing: .14em !important;
	text-transform: uppercase; color: var(--bcm-verde-2) !important; margin-bottom: .35rem !important;
}
/* Su fondo scuro il lime regge il contrasto, sul bianco no. */
:is(.bcm-sostieni, .bcm-testata, .bcm-apertura, .bcm-footer) .is-style-occhiello { color: var(--bcm-lime) !important; }

/* ---------- Pulsanti ---------- */
.wp-block-button__link { transition: transform .15s, background-color .15s; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.is-style-bianco .wp-block-button__link { background: #fff; color: var(--bcm-verde); }
.is-style-contorno .wp-block-button__link { background: transparent; border: 2px solid currentColor; color: inherit; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ---------- Riquadri ---------- */
.is-style-riquadro { background: #fff; border: 1px solid var(--bcm-linea); border-radius: var(--bcm-r); padding: 1.4rem; }
.is-style-riquadro-lime { background: var(--bcm-lime); color: var(--bcm-notte); border-radius: var(--bcm-r); padding: 1.4rem; }
.is-style-riquadro-lime :where(h2,h3,h4) { color: var(--bcm-notte); }
.is-style-avviso { border-left: 5px solid var(--bcm-lime); background: var(--wp--preset--color--lime-tenue); padding: 1.1rem 1.4rem; border-radius: 0 12px 12px 0; }
.is-style-arrotondata img { border-radius: 16px; }

ul.is-style-spunte { list-style: none; padding-left: 0; }
ul.is-style-spunte li { position: relative; padding-left: 2.1rem; margin: .6rem 0; }
ul.is-style-spunte li::before {
	content: "✓"; position: absolute; left: 0; top: .1rem; width: 1.5rem; height: 1.5rem; border-radius: 50%;
	background: var(--bcm-lime); color: var(--bcm-notte); font-weight: 800; font-size: .85rem; display: grid; place-items: center;
}
ol.is-style-passi { list-style: none; padding: 0; counter-reset: passo; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
ol.is-style-passi > li { counter-increment: passo; background: var(--bcm-carta); border-radius: 16px; padding: 1.6rem; margin: 0; }
ol.is-style-passi > li::before {
	content: counter(passo); display: block; font: 800 4.5rem/1 var(--bcm-display); color: var(--bcm-lime); margin-bottom: .35rem;
}

/* ---------- Card degli articoli (Query Loop) ---------- */
.bcm-griglia-news .wp-block-post-template.is-layout-grid { gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 1000px) { .bcm-griglia-news .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) { .bcm-griglia-news .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; } }
.bcm-card {
	background: #fff; border-radius: var(--bcm-r); overflow: hidden; height: 100%;
	display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s;
}
.bcm-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--card); }
.bcm-card .wp-block-post-featured-image { margin: 0; position: relative; aspect-ratio: 16/10; overflow: hidden; }
.bcm-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.bcm-card .bcm-card-corpo { padding: 1.1rem 1.3rem 1.4rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.bcm-card .wp-block-post-title { font-size: 1.65rem; line-height: 1; margin: 0; color: var(--bcm-inchiostro); }
.bcm-card .wp-block-post-title a { color: inherit; text-decoration: none; }
.bcm-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; } /* tutta la card è cliccabile */
.bcm-card { position: relative; }
.bcm-card .wp-block-post-excerpt { color: var(--bcm-grigio); font-size: .9375rem; margin: 0; }
.bcm-card .wp-block-post-excerpt__more-text { display: none; }
.bcm-card .wp-block-post-date { color: var(--bcm-grigio); font-size: .8125rem; }
.bcm-card .wp-block-post-terms { position: relative; z-index: 1; }
.bcm-griglia-news.su-carta, .bcm-sezione-carta { background: var(--bcm-carta); }

/* Data in evidenza sulla foto (la mette il plugin, classe .bcm-data-badge) */
.bcm-data-badge {
	position: absolute; left: 14px; top: 14px; z-index: 1; background: var(--bcm-verde); color: #fff; border-radius: 8px;
	text-align: center; padding: .35rem .6rem; font-family: var(--bcm-display); line-height: 1;
}
.bcm-data-badge b { display: block; font-size: 1.5rem; }
.bcm-data-badge span { font-size: .75rem; font-weight: 700; color: var(--bcm-lime); text-transform: uppercase; }

/* Paginazione */
.wp-block-query-pagination { gap: .5rem; margin-top: 2rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers {
	display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center;
	border-radius: 8px; background: #fff; border: 1px solid var(--bcm-linea); text-decoration: none; font-weight: 600; padding: 0 .75rem;
}
.wp-block-query-pagination .page-numbers.current { background: var(--bcm-verde); color: #fff; border-color: var(--bcm-verde); }

/* ---------- Le "porte" per età (correzione: quadrate, bordo e taglio) ----------
   Ogni porta è un blocco Copertina (foto + testo), modificabile dall'editor. */
.bcm-porte { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.bcm-porte > .wp-block-cover.bcm-porta {
	aspect-ratio: 1 / 1; min-height: 0 !important; margin: 0 !important; padding: 1.3rem !important;
	border-radius: var(--bcm-r); overflow: hidden; align-items: flex-end; justify-content: flex-start; position: relative;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 26px), calc(100% - 26px) 100%, 0 100%);
}
.bcm-porta .wp-block-cover__image-background { transition: transform .5s; }
.bcm-porta:hover .wp-block-cover__image-background { transform: scale(1.05); }
.bcm-porta .wp-block-cover__background {
	opacity: 1 !important; background: linear-gradient(180deg, rgba(10,74,40,.05) 25%, rgba(6,43,23,.94)), var(--bcm-righe) !important;
}
.bcm-porta::before { /* bordo che si accende al passaggio */
	content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); transition: box-shadow .2s;
}
.bcm-porta:hover::before, .bcm-porta:focus-within::before { box-shadow: inset 0 0 0 3px var(--bcm-lime); }
.bcm-porta .wp-block-cover__inner-container { width: 100%; }
.bcm-porta .bcm-porta-eta { font: 700 1.1rem var(--bcm-display); color: var(--bcm-lime); text-transform: uppercase; margin: 0; }
.bcm-porta h3 { font-size: 2.6rem; color: #fff; margin: .15rem 0 .35rem; }
.bcm-porta h3 a { color: inherit; text-decoration: none; }
.bcm-porta h3 a::after { content: ""; position: absolute; inset: 0; z-index: 4; } /* tutta la porta è cliccabile */
.bcm-porta h3 a::before {
	content: "→"; position: absolute; right: 12px; top: 12px; width: 38px; height: 38px; border-radius: 50%; z-index: 5;
	background: rgba(255,255,255,.16); display: grid; place-items: center; font: 800 1.1rem var(--wp--preset--font-family--testo); transition: background .2s;
}
.bcm-porta:hover h3 a::before { background: var(--bcm-lime); color: var(--bcm-notte); }
.bcm-porta .bcm-porta-testo { font-size: .875rem; color: #cfe3d5; margin: 0; }
@media (max-width: 900px) {
	.bcm-porte { grid-template-columns: 1fr 1fr; gap: .75rem; }
	.bcm-porte > .wp-block-cover.bcm-porta { padding: .9rem !important; }
	.bcm-porta h3 { font-size: 1.8rem; }
	.bcm-porta .bcm-porta-testo { display: none; }
}

/* ---------- Riquadri "Resta tutto qui" (correzione: più stacco) ---------- */
.bcm-usi { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.bcm-uso {
	background: #fff; border-radius: 16px; padding: 1.8rem 1.3rem 1.5rem; text-align: center;
	border-top: 5px solid var(--bcm-lime); box-shadow: 0 10px 26px rgba(10,74,40,.10);
}
.bcm-uso .bcm-uso-icona {
	width: 64px; height: 64px; border-radius: 50%; background: var(--bcm-verde); color: var(--bcm-lime);
	display: grid; place-items: center; margin: 0 auto .9rem;
}
.bcm-uso .bcm-uso-icona svg { width: 30px; height: 30px; }
.bcm-uso h3 { font-size: 1.5rem; margin: 0 0 .3rem; }
.bcm-uso p { color: var(--bcm-grigio); font-size: .9375rem; margin: 0; }
@media (max-width: 900px) { .bcm-usi { grid-template-columns: 1fr 1fr; } }

/* ---------- Articolo ---------- */
.bcm-art-testata { padding-bottom: 150px !important; }
.bcm-art-foto { margin-top: -120px !important; position: relative; z-index: 2; }
.bcm-art-foto img { border-radius: 16px; box-shadow: var(--wp--preset--shadow--alta); max-height: 620px; object-fit: cover; width: 100%; }
.bcm-art-meta { color: #cfe3d5; font-size: .875rem; gap: 1.25rem !important; }
.bcm-art-meta .wp-block-post-date, .bcm-art-meta .wp-block-post-author-name { color: #fff; font-weight: 600; }
.bcm-art-colonne { gap: clamp(2rem, 5vw, 4rem) !important; }
.bcm-art-testo .wp-block-post-content > p:first-of-type::first-letter {
	font: 800 4.4em/.82 var(--bcm-display); float: left; margin: .35rem .6rem 0 0; color: var(--bcm-verde);
}
.bcm-art-testo .wp-block-post-content h2 { font-size: 2.1rem; margin-top: 1.6em; }
.bcm-art-laterale { display: flex; flex-direction: column; gap: 1.25rem; }
@media (max-width: 781px) {
	.bcm-art-testata { padding-bottom: 110px !important; }
	.bcm-art-foto { margin-top: -90px !important; }
}

/* Condivisione con icone */
.bcm-condividi { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding-top: 1.4rem; border-top: 1px solid var(--bcm-linea); }
.bcm-condividi .bcm-condividi-tit { font-size: .875rem; font-weight: 700; color: var(--bcm-grigio); margin-right: .25rem; }
.bcm-condividi a, .bcm-condividi button {
	width: 44px; height: 44px; border-radius: 50%; display: inline-grid; place-items: center; border: 0; cursor: pointer;
	background: var(--bcm-carta); color: var(--bcm-verde); transition: background .15s, color .15s, transform .15s;
}
.bcm-condividi a:hover, .bcm-condividi button:hover { transform: translateY(-2px); color: #fff; }
.bcm-condividi svg { width: 20px; height: 20px; fill: currentColor; }
.bcm-condividi .bcm-c-whatsapp:hover { background: #25D366; }
.bcm-condividi .bcm-c-facebook:hover { background: #1877F2; }
.bcm-condividi .bcm-c-telegram:hover { background: #229ED9; }
.bcm-condividi .bcm-c-x:hover { background: #000; }
.bcm-condividi .bcm-c-email:hover, .bcm-condividi .bcm-c-copia:hover, .bcm-condividi .bcm-c-nativo:hover { background: var(--bcm-verde); }
.bcm-condividi .bcm-c-nativo { display: none; }
.bcm-condividi.ha-nativo .bcm-c-nativo { display: inline-grid; }
.bcm-condividi .bcm-copiato { font-size: .8125rem; color: var(--bcm-verde); font-weight: 600; }

/* ---------- Codice fiscale 5 per mille ---------- */
.bcm-cf-box { background: #fff; color: var(--bcm-inchiostro); border-radius: 18px; padding: 2rem; text-align: center; box-shadow: var(--wp--preset--shadow--alta); }
.bcm-cf-box .bcm-cf-etichetta { font: 700 .8125rem var(--wp--preset--font-family--testo); letter-spacing: .14em; text-transform: uppercase; color: var(--bcm-grigio); }
.bcm-cf-box .bcm-cf-numero { display: block; font: 800 clamp(2.6rem, 6vw, 4.2rem)/1 var(--bcm-display); color: var(--bcm-verde); letter-spacing: .04em; margin: .5rem 0 1.1rem; }
.bcm-cf-box button { width: 100%; }
.bcm-cf-box small { display: block; margin-top: .75rem; color: var(--bcm-grigio); font-size: .8125rem; }
.bcm-cf-in-riga { font: 800 2.4rem var(--bcm-display); color: var(--bcm-lime); letter-spacing: .04em; display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.bcm-copia-cf {
	font: 700 .75rem var(--wp--preset--font-family--testo); background: rgba(255,255,255,.12); color: #fff; border: 0;
	border-radius: 6px; padding: .45rem .7rem; cursor: pointer; letter-spacing: 0;
}

/* ---------- Domande frequenti (blocco Dettagli) ---------- */
.wp-block-details { border-bottom: 1px solid var(--bcm-linea); padding: 1.1rem 0; }
.wp-block-details summary { font-weight: 700; font-size: 1.125rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; color: var(--bcm-lime); font-size: 1.7rem; line-height: 1; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { color: var(--bcm-grigio); margin-top: .6rem; }

/* ---------- Fascia "Sostienici" ---------- */
.bcm-sostieni { background: var(--bcm-notte); color: #fff; }
.bcm-sostieni .wp-block-column { padding: 3.2rem 2rem; border-left: 1px solid rgba(255,255,255,.08); }
.bcm-sostieni .wp-block-column:first-child { border-left: 0; padding-left: 0; }
.bcm-sostieni h3 { color: #fff; font-size: 2.5rem; }
.bcm-sostieni p { color: #a9c4b1; font-size: .9375rem; }
@media (max-width: 781px) {
	.bcm-sostieni .wp-block-column { padding: 2.3rem 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.08); }
	.bcm-sostieni .wp-block-column:first-child { border-top: 0; }
}

/* ---------- Sponsor e partner ---------- */
.bcm-loghi { display: grid; grid-template-columns: repeat(6, 1fr); gap: .9rem; list-style: none; padding: 0; margin: 0; }
.bcm-loghi li { background: #fff; border: 1px solid var(--bcm-linea); border-radius: 10px; aspect-ratio: 3/2; display: flex; align-items: center; justify-content: center; padding: .6rem; }
.bcm-loghi a { display: contents; }
.bcm-loghi img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1); opacity: .8; transition: .2s; }
.bcm-loghi li:hover img { filter: none; opacity: 1; }
.bcm-loghi.a-colori img { filter: none; opacity: 1; }
@media (max-width: 900px) { .bcm-loghi { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Piè di pagina ---------- */
.bcm-footer { background: var(--bcm-verde); color: #cfe3d5; font-size: .9375rem; }
.bcm-footer a { color: #cfe3d5; text-decoration: none; }
.bcm-footer a:hover { color: var(--bcm-lime); }
.bcm-footer h2 { color: #fff; font-size: 1.4rem; margin-bottom: .75rem; }
.bcm-footer .wp-block-navigation { font-family: var(--wp--preset--font-family--testo); text-transform: none; font-weight: 400; font-size: .9375rem; }
.bcm-footer .wp-block-navigation__container { gap: .45rem; }
.bcm-footer .bcm-footer-logo img { background: #fff; border-radius: 50%; padding: 3px; }
.bcm-footer .bcm-footer-nome { font: 800 1.75rem/.95 var(--bcm-display); text-transform: uppercase; color: #fff; }
.bcm-footer .bcm-fondo { border-top: 1px solid rgba(255,255,255,.12); font-size: .8125rem; color: #9fbca9; }
.bcm-social { display: flex; gap: .55rem; }
.bcm-social a { width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.1); display: grid; place-items: center; color: #fff; }
.bcm-social a:hover { background: var(--bcm-lime); color: var(--bcm-notte); }
.bcm-social svg { width: 20px; height: 20px; fill: currentColor; }

/* ---------- 404 ---------- */
.bcm-404 .bcm-404-numero { font: 800 clamp(7rem, 20vw, 12rem)/1 var(--bcm-display); color: var(--bcm-lime); }

/* ---------- Non solo basket ---------- */
.bcm-attivita { gap: .9rem !important; }
.bcm-att { padding: 1.1rem 1.2rem !important; position: relative; transition: border-color .2s, transform .2s; border-top: 4px solid var(--bcm-lime) !important; }
.bcm-att:hover { transform: translateY(-3px); }
.bcm-att h3 { font-size: 1.45rem; margin: 0 0 .2rem; }
.bcm-att h3 a { text-decoration: none; color: var(--bcm-verde); }
.bcm-att h3 a::after { content: ""; position: absolute; inset: 0; }
.bcm-att p { margin: 0; color: var(--bcm-grigio); font-size: .9375rem; }
.bcm-mosaico.wp-block-gallery { display: grid !important; grid-template-columns: 1fr 1fr; grid-template-rows: 210px 210px; gap: .9rem !important; }
.bcm-mosaico.wp-block-gallery > figure { width: 100% !important; height: 100%; margin: 0 !important; }
.bcm-mosaico.wp-block-gallery > figure:first-child { grid-row: span 2; }
.bcm-mosaico.wp-block-gallery img { height: 100% !important; border-radius: 12px; object-fit: cover; }
@media (max-width: 600px) { .bcm-mosaico.wp-block-gallery { grid-template-rows: 150px 150px; } }

/* ---------- Apertura della home (blocco bcm/apertura del plugin) ---------- */
.bcm-apertura { background-color: var(--bcm-verde); background-image: var(--bcm-righe); }

/* =========================================================================
   Blocchi del plugin BCM Sito
   ========================================================================= */
.bcm-int { max-width: 1240px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 24px); }
.bcm-sez-testa { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.bcm-sez-testa h2 { margin: 0; }
.bcm-sez-testa a { color: var(--bcm-verde); text-decoration: none; border-bottom: 2px solid var(--bcm-lime); }

/* Striscia risultati */
.bcm-ticker { background: #fff; border-bottom: 1px solid var(--bcm-linea); }
.bcm-ticker-int { max-width: 1240px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 24px); display: flex; align-items: stretch; }
.bcm-ris-tit { font: 800 .95rem/1 var(--bcm-display) !important; color: var(--bcm-verde); letter-spacing: .06em; margin: 0; padding: 1rem 1.25rem 1rem 0; border-right: 1px solid var(--bcm-linea); display: flex; align-items: center; flex: 0 0 auto; }
.bcm-ticker ul { list-style: none; margin: 0; padding: 0; display: flex; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.bcm-ticker ul::-webkit-scrollbar { display: none; }
.bcm-ris { flex: 0 0 auto; display: grid; grid-template-columns: auto auto; column-gap: .9rem; align-items: center; padding: .8rem 1.25rem; border-right: 1px solid var(--bcm-linea); white-space: nowrap; scroll-snap-align: start; }
.bcm-ris-cat { grid-column: 1; font: 700 .6875rem var(--wp--preset--font-family--testo); letter-spacing: .08em; text-transform: uppercase; color: var(--bcm-grigio); }
.bcm-ris-sq { grid-column: 1; font: 700 1.15rem var(--bcm-display); text-transform: uppercase; }
.bcm-pt { font-weight: 800; font-size: 1.3rem; }
.bcm-noi { color: var(--bcm-verde); }
.bcm-esito { grid-column: 2; grid-row: 1 / span 2; font: 800 .75rem var(--wp--preset--font-family--testo); border-radius: 4px; padding: .2rem .4rem; }
.bcm-esito.v { background: var(--bcm-lime); color: var(--bcm-notte); }
.bcm-esito.p { background: #d3dbd6; color: #33443a; }
@media (max-width: 781px) { .bcm-ris-tit { font-size: .8rem !important; padding-right: .8rem; } .bcm-ris { padding: .7rem .9rem; } }

/* Apertura della home */
.bcm-apertura-griglia { display: grid; grid-template-columns: 1.65fr 1fr; gap: 1.75rem; }
.bcm-lead { position: relative; border-radius: var(--bcm-r); overflow: hidden; min-height: 520px; display: flex; align-items: flex-end; color: #fff; text-decoration: none; box-shadow: var(--wp--preset--shadow--alta); }
.bcm-lead img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.bcm-lead:hover img { transform: scale(1.03); }
.bcm-lead::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(3,25,13,.92)); }
.bcm-lead-t { position: relative; z-index: 1; padding: 2rem; }
.bcm-lead h2 { color: #fff; font-size: clamp(2.4rem, 5vw, 4rem); margin: .85rem 0 .7rem; }
.bcm-lead p { color: #d9e8de; max-width: 580px; margin: 0; }
.bcm-lead-meta { display: block; font-size: .8125rem; color: #a9c4b1; margin-top: .85rem; font-weight: 500; }
.bcm-apertura-col { display: flex; flex-direction: column; gap: 1rem; }
.bcm-box { background: #fff; border-radius: var(--bcm-r); padding: 1.35rem; color: var(--bcm-inchiostro); text-decoration: none; display: block; }
.bcm-art-laterale .bcm-box { border: 1px solid var(--bcm-linea); }
.bcm-box :is(h2,h3) { font-size: 1.4rem; margin: 0 0 .5rem; display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.bcm-box :is(h2,h3) a { font: 600 .8125rem var(--wp--preset--font-family--testo); text-transform: none; color: var(--bcm-grigio); text-decoration: none; }
.bcm-box p { font-size: .9375rem; margin: .3rem 0 .9rem; }
.bcm-box-lime { background: var(--bcm-lime); color: var(--bcm-notte); }
.bcm-box-lime :is(h2,h3) { color: var(--bcm-notte); }
.bcm-box-verde { background: var(--bcm-verde); color: #cfe3d5; border: 0 !important; }
.bcm-box-verde :is(h2,h3) { color: #fff; }
.bcm-btn-bianco { background: #fff !important; color: var(--bcm-verde) !important; text-decoration: none; display: inline-block; }
.bcm-box .wp-element-button { text-decoration: none; display: inline-block; }
.bcm-evidenza img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 10px; margin-bottom: .75rem; }
.bcm-evidenza h3 { margin-top: .6rem; }
.bcm-cf-mini { font-size: 1.25rem !important; }
@media (max-width: 900px) {
	.bcm-apertura-griglia { grid-template-columns: 1fr; }
	.bcm-lead { min-height: 430px; }
	.bcm-lead-t { padding: 1.4rem; }
}

/* Elenco partite */
.bcm-match-lista { list-style: none; margin: 0; padding: 0; }
.bcm-match { display: grid; grid-template-columns: 56px 1fr auto; gap: .75rem; align-items: center; padding: .7rem 0; border-top: 1px solid var(--bcm-linea); }
.bcm-match:first-child { border-top: 0; }
.bcm-match-data { background: var(--bcm-carta); border-radius: 8px; text-align: center; padding: .35rem 0; font-family: var(--bcm-display); line-height: 1; }
.bcm-match-data b { display: block; font-size: 1.6rem; color: var(--bcm-verde); }
.bcm-match-data span { font-size: .8rem; font-weight: 700; text-transform: uppercase; color: var(--bcm-grigio); }
.bcm-match-chi { display: flex; flex-direction: column; min-width: 0; }
.bcm-match-sq { font: 700 .6875rem var(--wp--preset--font-family--testo); letter-spacing: .08em; text-transform: uppercase; color: var(--bcm-verde-2); }
.bcm-match-tit { font: 700 1.15rem/1.05 var(--bcm-display); text-transform: uppercase; }
.bcm-match-dove { font-size: .8125rem; color: var(--bcm-grigio); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bcm-ct { font: 800 .6875rem var(--wp--preset--font-family--testo); padding: .25rem .45rem; border-radius: 4px; letter-spacing: .05em; text-transform: uppercase; }
.bcm-ct.casa { background: var(--bcm-verde); color: #fff; }
.bcm-ct.fuori { background: var(--bcm-carta); color: var(--bcm-grigio); }

/* Filtri per squadra */
.bcm-filtri { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 1.6rem; }
.bcm-filtro { background: #fff; border: 1px solid var(--bcm-linea); border-radius: 999px; padding: .45rem .95rem; font-size: .875rem; font-weight: 600; color: var(--bcm-grigio); text-decoration: none; }
.bcm-filtro:hover { border-color: var(--bcm-verde); color: var(--bcm-verde); }
.bcm-filtro.attivo { background: var(--bcm-verde); border-color: var(--bcm-verde); color: #fff; }

/* Etichette */
.bcm-etichette { margin: 0; }
.bcm-card .bcm-etichette .bcm-tag { background: transparent; color: var(--bcm-verde-2); padding: 0; letter-spacing: .08em; }
.bcm-card .bcm-etichette { position: relative; z-index: 1; }

/* Scheda partita */
.bcm-schede { display: grid; gap: 1rem; margin-bottom: 2rem; }
.bcm-scheda { background: var(--bcm-carta); border-radius: var(--bcm-r); padding: 1.4rem 1.6rem; border-left: 6px solid var(--bcm-lime); }
.bcm-scheda.persa { border-left-color: #c9d2cc; }
.bcm-scheda-meta { font: 700 .75rem var(--wp--preset--font-family--testo); letter-spacing: .08em; text-transform: uppercase; color: var(--bcm-grigio); }
.bcm-scheda-punt { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-top: .4rem; }
.bcm-scheda-sq { font: 800 1.5rem/1 var(--bcm-display); text-transform: uppercase; }
.bcm-scheda-sq:last-child { text-align: right; }
.bcm-scheda-punt b { font: 800 clamp(2.6rem, 6vw, 3.6rem)/1 var(--bcm-display); color: var(--bcm-verde); white-space: nowrap; }
.bcm-scheda-quarti { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .8rem; }
.bcm-scheda-quarti span { background: #fff; border-radius: 6px; padding: .2rem .55rem; font-size: .8125rem; font-weight: 600; }
.bcm-scheda-nota { font-size: .8125rem; color: var(--bcm-grigio); margin: .6rem 0 0; }
@media (max-width: 560px) { .bcm-scheda-sq { font-size: 1.1rem; } }

/* Leggi anche */
.bcm-mini-lista { list-style: none; margin: 0; padding: 0; }
.bcm-mini { display: grid; grid-template-columns: 76px 1fr; gap: .75rem; padding: .6rem 0; border-top: 1px solid var(--bcm-linea); text-decoration: none; color: inherit; }
.bcm-mini-lista li:first-child .bcm-mini { border-top: 0; }
.bcm-mini img { width: 76px; height: 60px; object-fit: cover; border-radius: 8px; }
.bcm-mini b { font: 700 1.05rem/1.05 var(--bcm-display); text-transform: uppercase; display: block; }
.bcm-mini:hover b { color: var(--bcm-verde); }
.bcm-mini span span { font-size: .75rem; color: var(--bcm-grigio); }

/* Fondazione CRC */
.bcm-fondazione { margin-top: 1.25rem; font-size: .875rem; color: var(--bcm-grigio); background: var(--bcm-carta); border-radius: 10px; padding: .75rem 1rem; }

/* Fascia sponsor (in fondo a ogni pagina) */
.bcm-sponsor-fascia { padding: var(--wp--preset--spacing--60) 0; background: #fff; border-top: 1px solid var(--bcm-linea); }

/* ---------- Pagine squadra ---------- */
.bcm-squadre { display: grid; gap: var(--wp--preset--spacing--50); }
.bcm-sq-sezione h2 { margin-bottom: 1rem; }
.bcm-sq-griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.bcm-sq-card {
	position: relative; display: flex; flex-direction: column; gap: .25rem; padding: 1.3rem 1.4rem 1.2rem;
	background: #fff; border: 1px solid var(--bcm-linea); border-top: 5px solid var(--bcm-lime); border-radius: var(--bcm-r);
	text-decoration: none; color: var(--bcm-inchiostro); transition: transform .2s, box-shadow .2s;
}
.bcm-sq-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--card); }
.bcm-sq-card h3 { font-size: 1.9rem; margin: 0; }
.bcm-sq-annate { font: 700 .75rem var(--wp--preset--font-family--testo); letter-spacing: .08em; text-transform: uppercase; color: var(--bcm-verde-2); }
.bcm-sq-prossima { font-size: .8125rem; color: var(--bcm-grigio); }
.bcm-sq-freccia { position: absolute; right: 1rem; top: 1rem; font-weight: 800; color: var(--bcm-verde); }

.bcm-squadra { display: grid; gap: var(--wp--preset--spacing--50); }
.bcm-sq-blocco h2 { font-size: var(--wp--preset--font-size--grande); margin: 0 0 .9rem; }
.bcm-staff { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .75rem; }
.bcm-staff li { background: var(--bcm-carta); border-radius: 12px; padding: .9rem 1.1rem; display: flex; flex-direction: column; }
.bcm-staff-nome { font: 800 1.3rem/1.1 var(--bcm-display); text-transform: uppercase; }
.bcm-staff-ruolo { font-size: .8125rem; color: var(--bcm-grigio); }
.bcm-tabella { width: 100%; border-collapse: collapse; font-size: .9375rem; background: #fff; }
.bcm-tabella th, .bcm-tabella td { text-align: left; padding: .6rem .7rem; border-bottom: 1px solid var(--bcm-linea); }
.bcm-tabella thead th { font: 700 .75rem var(--wp--preset--font-family--testo); letter-spacing: .06em; text-transform: uppercase; color: var(--bcm-grigio); }
.bcm-tabella tbody th { font-weight: 600; }
.bcm-tabella-scorri { overflow-x: auto; }
.bcm-classifica td:not(:nth-child(2)), .bcm-classifica th:not(:nth-child(2)) { text-align: center; }
.bcm-noi-riga { background: var(--wp--preset--color--lime-tenue); }
.bcm-noi-riga th { color: var(--bcm-verde); font-weight: 800; }
.bcm-nota { font-size: .8125rem; color: var(--bcm-grigio); margin: .6rem 0 0; }
.bcm-abbonati { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 0 0 1rem; }
.bcm-abbonati .wp-element-button { text-decoration: none; }
.bcm-link { color: var(--bcm-verde); }
.bcm-sq-partite { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.bcm-bordato { border: 1px solid var(--bcm-linea); }
.bcm-giocate { list-style: none; margin: 0; padding: 0; }
.bcm-giocata { display: grid; grid-template-columns: 52px 1fr auto auto; gap: .6rem; align-items: center; padding: .55rem 0; border-top: 1px solid var(--bcm-linea); }
.bcm-giocata:first-child { border-top: 0; }
.bcm-giocata-data { font-size: .75rem; color: var(--bcm-grigio); font-weight: 600; text-transform: uppercase; }
.bcm-giocata-tit { font: 700 1.05rem/1.1 var(--bcm-display); text-transform: uppercase; }
.bcm-giocata b { font: 800 1.2rem var(--bcm-display); color: var(--bcm-verde); }
.bcm-sq-news { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-bottom: 1rem; }
.bcm-card-semplice { text-decoration: none; color: inherit; border: 1px solid var(--bcm-linea); }
.bcm-card-semplice img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.bcm-card-data { font-size: .75rem; color: var(--bcm-grigio); }
.bcm-card-tit { font: 800 1.35rem/1.05 var(--bcm-display); text-transform: uppercase; }
.bcm-sq-cta h2 { color: var(--bcm-notte); }
@media (max-width: 781px) {
	.bcm-sq-partite, .bcm-sq-news { grid-template-columns: 1fr; }
}

.bcm-giocata .bcm-esito { grid-column: auto; grid-row: auto; justify-self: end; }

/* Il blocco Copertina non applica la larghezza del layout: si allinea a mano al resto del sito. */
.bcm-testata .wp-block-cover__inner-container { width: 100% !important; max-width: 1240px; margin-inline: auto !important; }
.bcm-testata .wp-block-cover__inner-container > * { max-width: 820px; margin-left: 0 !important; margin-right: 0 !important; }
.bcm-testata.wp-block-cover { padding-left: clamp(16px, 3vw, 24px) !important; padding-right: clamp(16px, 3vw, 24px) !important; }
.bcm-testata .wp-block-cover__inner-container.has-global-padding { padding-left: 0; padding-right: 0; }

/* La copertina disegna il suo velo verde sopra lo sfondo: la trama a righe va messa sul velo. */
.bcm-testata .wp-block-cover__background { background-image: var(--bcm-righe) !important; }
.bcm-testata.wp-block-cover h1 { margin: .4rem 0 .5rem; }
.bcm-testata .wp-block-post-excerpt { margin: 0; }
.bcm-testata .wp-block-post-excerpt__excerpt { margin: 0; }

/* Pillola della stagione (2026/27) */
.bcm-stagione {
	display: inline-block; font: 700 .75rem/1 var(--wp--preset--font-family--testo); letter-spacing: .04em;
	padding: .3rem .55rem; border-radius: 999px; border: 1.5px solid currentColor; vertical-align: middle;
}
.bcm-testata .bcm-stagione { color: #fff; border-color: rgba(255,255,255,.55); }
.bcm-stagione-card {
	position: absolute; right: 12px; top: 14px; z-index: 1; background: rgba(6,43,23,.78); color: #fff;
	border-color: rgba(255,255,255,.35); backdrop-filter: blur(3px);
}

/* Avviso date del minibasket */
.bcm-match-avviso { color: #9a6700; letter-spacing: 0; text-transform: none; font-weight: 600; }
.bcm-avviso-mb {
	font-size: .8125rem; color: #6b4a00; background: #fff6dc; border-left: 4px solid #e0a800;
	border-radius: 0 8px 8px 0; padding: .55rem .8rem; margin: .8rem 0 0;
}
.bcm-sq-blocco > .bcm-avviso-mb { margin: 0 0 1rem; font-size: .9375rem; }

/* ---------- Blocchi delle pagine fisse ---------- */
.bcm-orari th a { color: var(--bcm-verde); text-decoration: none; font-weight: 700; }
.bcm-orari-annate { display: block; font-size: .75rem; color: var(--bcm-grigio); font-weight: 500; }
.bcm-orari td { line-height: 1.8; }
.bcm-palestre { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.bcm-palestra { background: #fff; border: 1px solid var(--bcm-linea); border-top: 5px solid var(--bcm-verde); border-radius: var(--bcm-r); padding: 1.3rem; display: flex; flex-direction: column; gap: .4rem; }
.bcm-palestra h3 { font-size: 1.7rem; margin: 0; }
.bcm-palestra-ind { color: var(--bcm-grigio); margin: 0; }
.bcm-palestra-sq { font-size: .875rem; margin: 0 0 .6rem; }
.bcm-palestra .wp-element-button { align-self: flex-start; margin-top: auto; text-decoration: none; font-size: 1rem; }
.bcm-calendari { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .6rem; }
.bcm-calendari li { display: flex; justify-content: space-between; align-items: center; gap: .75rem; background: var(--bcm-carta); border-radius: 10px; padding: .7rem 1rem; }
.bcm-calendari li > span:first-child { font: 800 1.15rem var(--bcm-display); text-transform: uppercase; }
.bcm-cal-link { display: flex; gap: .75rem; font-size: .8125rem; font-weight: 600; }
.bcm-cal-link a { color: var(--bcm-verde); }
.bcm-partner-elenco { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.bcm-partner { display: flex; flex-direction: column; gap: .75rem; padding: 1.4rem; border: 1px solid var(--bcm-linea); border-radius: var(--bcm-r); text-decoration: none; color: var(--bcm-inchiostro); background: #fff; transition: transform .2s, box-shadow .2s; }
.bcm-partner:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--card); }
.bcm-partner-primo { grid-column: 1 / -1; flex-direction: row; align-items: center; background: var(--bcm-verde); color: #cfe3d5; border: 0; padding: 2rem; }
.bcm-partner-primo h3 { color: #fff; font-size: 2.4rem; }
.bcm-partner-primo b { color: var(--bcm-lime); }
.bcm-partner-logo img { max-height: 90px; width: auto; object-fit: contain; background: #fff; border-radius: 10px; padding: .5rem; }
.bcm-partner-t { display: flex; flex-direction: column; gap: .35rem; }
.bcm-partner h3 { margin: 0; font-size: 1.6rem; }
.bcm-partner b { color: var(--bcm-verde); font-size: .875rem; }
.bcm-progetti { display: grid; gap: 1.5rem; }
.bcm-prog-anno { display: grid; grid-template-columns: 110px 1fr; gap: 1.25rem; align-items: start; }
.bcm-prog-anno-n { font: 800 3rem/1 var(--bcm-display); color: var(--bcm-lime); position: sticky; top: 1rem; }
.bcm-prog-anno ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; border-left: 3px solid var(--bcm-linea); padding-left: 1.25rem; }
.bcm-prog-anno li { background: #fff; border: 1px solid var(--bcm-linea); border-radius: 12px; padding: 1rem 1.2rem; }
.bcm-prog-anno h4 { font-size: 1.35rem; margin: 0 0 .2rem; color: var(--bcm-inchiostro); }
.bcm-prog-bando { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bcm-verde-2); }
.bcm-prog-anno p { font-size: .9375rem; color: var(--bcm-grigio); margin: .4rem 0 0; }
@media (max-width: 600px) { .bcm-prog-anno { grid-template-columns: 1fr; gap: .5rem; } .bcm-prog-anno-n { position: static; font-size: 2.2rem; } }
.bcm-tv-archivio { display: grid; gap: var(--wp--preset--spacing--50); }
.bcm-tv-stagione h2 { font-size: var(--wp--preset--font-size--grande); margin-bottom: 1rem; }
.bcm-tv-griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.bcm-tv { position: relative; display: block; border-radius: 12px; overflow: hidden; color: #fff; text-decoration: none; aspect-ratio: 16/10; background: var(--bcm-notte); }
.bcm-tv img, .bcm-tv-vuoto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.bcm-tv:hover img { transform: scale(1.05); }
.bcm-tv::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(6,43,23,.92)); }
.bcm-tv-play { position: absolute; left: 50%; top: 40%; transform: translate(-50%, -50%); z-index: 1; width: 52px; height: 52px; border-radius: 50%; background: var(--bcm-lime); color: var(--bcm-notte); display: grid; place-items: center; font-size: 1.1rem; padding-left: 3px; }
.bcm-tv-t { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: .8rem 1rem; font: 800 1.05rem/1.05 var(--bcm-display); text-transform: uppercase; }
.bcm-tv-data { display: block; font: 600 .6875rem var(--wp--preset--font-family--testo); text-transform: none; color: #cfe3d5; margin-bottom: .25rem; }

/* Sezioni delle pagine fisse (pattern) */
.bcm-sezione { padding-block: var(--wp--preset--spacing--50); }
.bcm-pagina-intro { font-size: 1.25rem; color: var(--bcm-grigio); }
.bcm-cta-fascia { background: var(--bcm-lime); color: var(--bcm-notte); border-radius: var(--bcm-r); padding: 2rem; }
.bcm-cta-fascia h2 { color: var(--bcm-notte); }
.bcm-contatti-griglia { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.bcm-contatto { background: var(--bcm-carta); border-radius: var(--bcm-r); padding: 1.3rem; }
.bcm-contatto h3 { font-size: 1.4rem; margin: 0 0 .3rem; }
.bcm-contatto p { margin: 0; }
.wpcf7 input:not([type=submit]):not([type=checkbox]), .wpcf7 textarea, .wpcf7 select {
	width: 100%; padding: .75rem .9rem; border: 1px solid var(--bcm-linea); border-radius: 10px; font: inherit; background: #fff;
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 3px solid var(--bcm-lime); outline-offset: 1px; border-color: var(--bcm-verde); }
.wpcf7 input[type=submit] {
	background: var(--bcm-lime); color: var(--bcm-notte); border: 0; border-radius: 8px; cursor: pointer;
	font: 800 1.25rem var(--bcm-display); text-transform: uppercase; padding: .75rem 1.6rem;
}
.wpcf7 label { font-weight: 600; font-size: .9375rem; }

.wpcf7 input, .wpcf7 textarea, .wpcf7 select { box-sizing: border-box; max-width: 100%; }
.is-style-fascia-verde .bcm-briciole { font-size: .8125rem; color: #a9c4b1; margin: 0 0 1rem; }
.is-style-fascia-verde .bcm-briciole a { color: #fff; text-decoration: none; }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* ---------- Intestazione fissa ----------
   Resta in cima mentre si scorre: la barra scura sopra (5 per mille, contatti) se ne va,
   il menu e "Iscriviti" restano sempre a portata. Scorrendo si fa più bassa. */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: -37px; z-index: 100; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: -5px; }
@media (max-width: 781px) {
	.wp-site-blocks > header.wp-block-template-part { top: 0; }
	.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; }
}
.bcm-header > .wp-block-group { transition: min-height .2s; }
.bcm-marchio .wp-block-site-logo img { transition: width .2s, margin .2s; }
.bcm-compatto .bcm-header { box-shadow: 0 6px 20px rgba(0,0,0,.18); }
.bcm-compatto .bcm-header > .wp-block-group { min-height: 64px; }
.bcm-compatto .bcm-marchio .wp-block-site-logo img { width: 48px !important; margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) { .bcm-header > .wp-block-group, .bcm-marchio .wp-block-site-logo img { transition: none; } }

/* ---------- Barra di lettura degli articoli (sotto l'intestazione) ---------- */
.bcm-progresso { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: transparent; pointer-events: none; }
.bcm-progresso span { display: block; height: 100%; width: 100%; background: var(--bcm-lime); transform-origin: 0 50%; transform: scaleX(0); }

/* ---------- Colonna laterale dell'articolo: l'ultimo riquadro accompagna la lettura ---------- */
@media (min-width: 782px) {
	.bcm-art-laterale > :last-child { position: sticky; top: 96px; }
}

/* ---------- Stagione sopra gli orari ---------- */
.bcm-stagione-riga { margin: 0 0 .75rem; }
.bcm-stagione-riga .bcm-stagione { color: var(--bcm-verde); }

/* ---------- Filtro per stagione nelle news ---------- */
.bcm-filtri-riga { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: flex-start; justify-content: space-between; margin-bottom: 1.6rem; }
.bcm-filtri-riga .bcm-filtri { margin: 0; }
.bcm-sel-stagione { display: flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 600; color: var(--bcm-grigio); }
.bcm-sel-stagione select {
	font: 600 .875rem var(--wp--preset--font-family--testo); color: var(--bcm-verde); background: #fff;
	border: 1px solid var(--bcm-linea); border-radius: 999px; padding: .45rem 2rem .45rem .95rem; cursor: pointer;
	appearance: none; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50%; background-size: 5px 5px; background-repeat: no-repeat;
}

/* ---------- Tutti in campo ---------- */
.bcm-store { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }
.bcm-store img { height: 44px; width: auto; }
.bcm-logo-partner img { max-height: 120px; width: auto; }

/* ---------- Ricerca nell'intestazione: una lente che si apre ---------- */
.bcm-cerca.wp-block-search { margin: 0; }
.bcm-cerca .wp-block-search__button { background: rgba(255,255,255,.12); color: #fff; border: 0; border-radius: 10px; width: 46px; height: 46px; padding: 0; display: grid; place-items: center; margin: 0; }
.bcm-cerca .wp-block-search__button:hover { background: rgba(255,255,255,.22); }
.bcm-cerca .wp-block-search__button svg { width: 24px; height: 24px; fill: currentColor; }
.bcm-cerca .wp-block-search__inside-wrapper { border: 0; padding: 0; background: transparent; }
.bcm-cerca:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	background: #fff; border: 0; border-radius: 10px; height: 46px; padding: 0 .9rem; margin-right: .4rem; min-width: 260px; font-size: .9375rem;
}
@media (max-width: 781px) {
	.bcm-cerca:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { min-width: 0; width: 46vw; }
}
/* Squadra e stagione sugli articoli di "Leggi anche" */
.bcm-mini-tag { display: flex; gap: .35rem; align-items: center; margin-bottom: .3rem; }
.bcm-mini-tag .bcm-tag { font-size: .625rem; padding: .25rem .45rem; }
.bcm-mini-tag .bcm-stagione { font-size: .625rem; padding: .2rem .45rem; color: var(--bcm-verde); }
/* La lente aperta non sposta il menu: il campo si apre sopra, a sinistra della lente. */
.bcm-cerca { position: relative; }
.bcm-cerca:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	position: absolute; right: 54px; top: 0; z-index: 5; width: min(360px, 60vw); min-width: 0; margin: 0;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.bcm-marchio-testo { white-space: nowrap; }
@media (max-width: 781px) {
	.bcm-marchio-testo .bcm-m1, .bcm-marchio-testo .bcm-m2 { font-size: 1.15rem; }
	.bcm-cerca:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { width: calc(100vw - 110px); right: -60px; top: 54px; }
	.bcm-header .wp-block-group { gap: .5rem; }
}

/* ---------- Striscia risultati: link e scorrimento automatico ---------- */
.bcm-ris { display: block; padding: 0; }
.bcm-ris > a { display: grid; grid-template-columns: auto auto; column-gap: .9rem; align-items: center; padding: .8rem 1.25rem; color: inherit; text-decoration: none; }
.bcm-ris > a:hover .bcm-ris-sq, .bcm-ris > a:focus-visible .bcm-ris-sq { color: var(--bcm-verde); text-decoration: underline; text-underline-offset: .2em; }
.bcm-ticker-int { position: relative; }
.bcm-ticker .bcm-ticker-pista { overflow-x: auto; scrollbar-width: none; flex: 1; min-width: 0; }
.bcm-ticker .bcm-ticker-pista::-webkit-scrollbar { display: none; }
.bcm-ticker .bcm-ticker-pista > ul { overflow: visible; width: max-content; }
.bcm-ticker.bcm-scorre .bcm-ticker-pista { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.bcm-ticker.bcm-scorre .bcm-ticker-pista > ul { animation: bcm-scorri var(--bcm-durata, 40s) linear infinite; }
.bcm-ticker.bcm-scorre.bcm-fermo .bcm-ticker-pista > ul, .bcm-ticker.bcm-scorre:hover .bcm-ticker-pista > ul, .bcm-ticker.bcm-scorre:focus-within .bcm-ticker-pista > ul { animation-play-state: paused; }
@keyframes bcm-scorri { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .bcm-ticker.bcm-scorre .bcm-ticker-pista { overflow-x: auto; -webkit-mask-image: none; mask-image: none; } .bcm-ticker.bcm-scorre .bcm-ticker-pista > ul { animation: none; } }

/* ---------- Torna su ---------- */
.bcm-su {
	position: fixed; right: 18px; bottom: 18px; z-index: 90; width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--bcm-verde); color: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.25); display: grid; place-items: center;
	opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .2s, transform .2s, background .15s;
}
.bcm-su.visibile { opacity: 1; transform: none; pointer-events: auto; }
.bcm-su:hover { background: var(--bcm-lime); color: var(--bcm-notte); }
.bcm-su svg { width: 22px; height: 22px; }

/* ---------- Telefono: il menu (hamburger) all'estrema destra ---------- */
@media (max-width: 599px) {
	.bcm-header .bcm-nav { order: 3; }
	.bcm-header .bcm-cerca { order: 1; }
	.bcm-header .bcm-cta { order: 2; }
}

.bcm-legale-versione { font-size: .875rem; color: var(--bcm-grigio); margin: 0 0 1.5rem; }
.bcm-legale h2 { font-size: var(--wp--preset--font-size--grande); margin-top: 1.6em; }
.bcm-legale h3 { font-size: 1.4rem; margin-top: 1.3em; }

/* Filtri per squadra su telefono: una riga sola da scorrere, non tre righe di pillole. */
@media (max-width: 781px) {
	.bcm-filtri {
		flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity;
		margin-inline: calc(-1 * clamp(16px, 3vw, 24px)); padding: 2px clamp(16px, 3vw, 24px);
		-webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent);
	}
	.bcm-filtri::-webkit-scrollbar { display: none; }
	.bcm-filtro { flex: 0 0 auto; scroll-snap-align: start; padding: .35rem .8rem; font-size: .8125rem; }
	.bcm-filtri-riga { flex-direction: column; gap: .75rem; }
	.bcm-filtri-riga .bcm-filtri { width: calc(100% + 2 * clamp(16px, 3vw, 24px)); }
}

.bcm-ticker .bcm-ticker-pista { display: flex; }
.bcm-ticker .bcm-ticker-pista > ul { flex: 0 0 auto; align-items: stretch; }
@media (max-width: 781px) { .bcm-ris > a { padding: .65rem .9rem; } }
