/**
 * BPC Trasparenza — front (stile "heritage" allineato agli esempi del tema).
 * Theme-agnostic: usa i token --bpc-* del tema con fallback bordeaux; icone SVG
 * inline (nessun font di icone). Contrasti AA, target >=44px, focus visibile.
 */

.bpc-trasp {
	--bpct-primary: var(--bpc-color-primary, #63001b);
	--bpct-primary-strong: var(--bpc-color-primary-strong, #8c052b);
	--bpct-on-primary: var(--bpc-color-on-primary, #ffffff);
	--bpct-ink: var(--bpc-color-text, #1a1c1c);
	--bpct-muted: var(--bpc-color-text-muted, #584142);
	--bpct-border: var(--bpc-color-border, #e0bfc0);
	--bpct-surface: var(--bpc-color-surface, #ffffff);
	--bpct-surface-2: var(--bpc-color-surface-alt, #f4f3f3);
	--bpct-focus: var(--bpc-color-focus, #1a56db);
	color: var(--bpct-ink);
}

.bpc-trasp *,
.bpc-trasp *::before,
.bpc-trasp *::after { box-sizing: border-box; }

.bpc-trasp-ic { display: block; }

/* ---------- Header archivio ---------- */
.bpc-trasp-archive__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 2.5rem 1.5rem 4rem;
}

.bpc-trasp-breadcrumb {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 1rem;
	line-height: 1.35;
}
.bpc-trasp-breadcrumb a { color: var(--bpc-color-primary, #63001b); text-decoration: none; }
.bpc-trasp-breadcrumb a:hover { text-decoration: underline; }

@media (max-width: 640px) {
	.bpc-trasp-breadcrumb {
		margin-bottom: 1.25rem;
		font-size: 0.7rem;
		font-weight: 500;
		letter-spacing: 0.04em;
	}
}

.bpc-trasp-archive__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1.1;
	letter-spacing: -0.01em;
}
.bpc-trasp-archive__title::after {
	content: "";
	display: block;
	width: 40px;
	height: 3px;
	margin-top: 1rem;
	background: var(--bpc-color-primary, #63001b);
}
.bpc-trasp-archive__desc {
	color: var(--bpc-color-text-muted, #584142);
	max-width: 48rem;
	font-size: 1.05rem;
	line-height: 1.6;
	margin-bottom: 2rem;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}

/* ---------- Gruppi (segmento / prodotto) ---------- */
.bpc-trasp-group { margin: 2rem 0; }

.bpc-trasp-group--seg > .bpc-trasp-group__title {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.5rem;
	text-transform: uppercase;
	margin: 0 0 1.25rem;
}
.bpc-trasp-group--seg > .bpc-trasp-group__title::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--bpct-border, #e0bfc0);
}

.bpc-trasp-group--prod > .bpc-trasp-group__title {
	font-size: 1.2rem;
	color: var(--bpct-primary, #63001b);
	margin: 0 0 1rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

.bpc-trasp-group__count { color: var(--bpct-muted, #584142); font-weight: 400; font-size: 0.7em; }

.bpc-trasp-group__aside {
	color: var(--bpct-muted, #584142);
	font-weight: 500;
	font-size: 0.72em;
	text-transform: none;
	letter-spacing: 0;
	white-space: nowrap;
}
.bpc-trasp-group__aside::before {
	content: "·";
	margin-right: 0.45rem;
	opacity: 0.75;
}

/* Documenti solo-madre: dopo le card sottosezione, titolo sempre visibile. */
.bpc-trasp--hub-children > .bpc-trasp-group--parent-docs {
	margin-top: 2.75rem;
	padding-top: 0.25rem;
}
.bpc-trasp-group--parent-docs > .bpc-trasp-group--seg {
	margin-top: 1.25rem;
	margin-bottom: 1.25rem;
}
.bpc-trasp-group--parent-docs > .bpc-trasp-group--seg > .bpc-trasp-group__title {
	font-size: 1.15rem;
	margin-bottom: 1rem;
}

/* Risultati documenti nella ricerca hub (sottosezioni). */
.bpc-trasp-hub-doc-hits {
	margin: 1.5rem 0 2rem;
}
.bpc-trasp-hub-doc-hits__list {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	border: 1px solid var(--bpct-border, #e0bfc0);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}
.bpc-trasp-hub-doc-hits__item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.75rem 1rem;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid var(--bpct-border, #e0bfc0);
}
.bpc-trasp-hub-doc-hits__item:last-child {
	border-bottom: 0;
}
.bpc-trasp-hub-doc-hits__item:hover {
	background: rgba(140, 5, 43, 0.04);
}
.bpc-trasp-hub-doc-hits__ic {
	flex: 0 0 auto;
	color: var(--bpct-primary, #63001b);
	display: flex;
}
.bpc-trasp-hub-doc-hits__text {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.bpc-trasp-hub-doc-hits__title {
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.3;
}
.bpc-trasp-hub-doc-hits__meta {
	font-size: 0.85rem;
	color: var(--bpct-muted, #584142);
}
.bpc-trasp-hub-doc-hits__go {
	flex: 0 0 auto;
	color: var(--bpct-primary, #63001b);
	font-size: 1.1rem;
}

/* ---------- Griglia card documenti ---------- */
/* Colonne desktop impostabili da Dashboard (--bpc-doclist-cols, default 3). */
.bpc-trasp-doclist {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-bottom: 2rem;
}
@media (min-width: 640px) {
	.bpc-trasp-doclist {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 960px) {
	.bpc-trasp-doclist {
		grid-template-columns: repeat(var(--bpc-doclist-cols, 3), 1fr);
	}
}

/* Layout lista: stesso markup card, disposizione a riga (funzioni invariate). */
.bpc-trasp--doclist-list .bpc-trasp-doclist {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
@media (min-width: 640px) {
	.bpc-trasp--doclist-list .bpc-trasp-doclist {
		grid-template-columns: unset;
	}
}
@media (min-width: 960px) {
	.bpc-trasp--doclist-list .bpc-trasp-doclist {
		grid-template-columns: unset;
	}
}
.bpc-trasp--doclist-list .bpc-trasp-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas:
		"icon main actions"
		"icon main actions";
	align-items: center;
	column-gap: 0.9rem;
	row-gap: 0.15rem;
	min-height: 0;
	padding: 0.85rem 1.1rem;
}
.bpc-trasp--doclist-list .bpc-trasp-card:hover {
	transform: none;
	border-top-width: 1px;
	border-left: 3px solid var(--bpct-primary-strong, #8c052b);
	box-shadow: 0 2px 10px -4px rgba(0, 0, 0, 0.08);
}
.bpc-trasp--doclist-list .bpc-trasp-card__head {
	grid-area: icon;
	display: flex;
	align-items: center;
	margin: 0;
}
/* In lista FI/FID è già nel titolo: il badge ridondante stringe la riga. */
.bpc-trasp--doclist-list .bpc-trasp-card__type {
	display: none;
}
.bpc-trasp--doclist-list .bpc-trasp-card__icon .bpc-trasp-ic,
.bpc-trasp--doclist-list .bpc-file-type .bpc-trasp-ic {
	width: 44px;
	height: 44px;
}
.bpc-trasp--doclist-list .bpc-trasp-card__title {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	font-size: 0.88rem;
	min-width: 0;
}
.bpc-trasp--doclist-list .bpc-trasp-card__meta {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	font-size: 0.78rem;
	line-height: 1.3;
	color: var(--bpct-muted, #6b6b6b);
	white-space: nowrap;
}
.bpc-trasp--doclist-list .bpc-trasp-card__desc {
	grid-column: 2;
	grid-row: 3;
	margin: 0.15rem 0 0;
}
.bpc-trasp--doclist-list .bpc-trasp-card__actions {
	grid-area: actions;
	align-self: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
}
.bpc-trasp--doclist-list .bpc-trasp-btn {
	flex: 0 0 auto;
	min-height: 40px;
	padding: 0 0.75rem;
}
/* Scarica = Anteprima: stessa larghezza, colonne allineate. */
.bpc-trasp--doclist-list .bpc-trasp-btn--primary,
.bpc-trasp--doclist-list .bpc-trasp-btn[data-bpc-preview] {
	flex: 0 0 9.5rem;
	width: 9.5rem;
	min-width: 9.5rem;
	max-width: 9.5rem;
	box-sizing: border-box;
}
.bpc-trasp--doclist-list .bpc-trasp-btn--update {
	flex: 0 0 auto;
	width: auto;
	min-width: 2.5rem;
	max-width: none;
}
@media (max-width: 719px) {
	.bpc-trasp--doclist-list .bpc-trasp-card {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"icon main"
			"icon main"
			"actions actions";
		row-gap: 0.55rem;
	}
	.bpc-trasp--doclist-list .bpc-trasp-card__actions {
		grid-area: actions;
		width: 100%;
		justify-content: stretch;
	}
	.bpc-trasp--doclist-list .bpc-trasp-btn {
		flex: 1 1 0;
	}
	.bpc-trasp--doclist-list .bpc-trasp-btn--primary,
	.bpc-trasp--doclist-list .bpc-trasp-btn[data-bpc-preview] {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		max-width: none;
	}
	.bpc-trasp--doclist-list .bpc-trasp-btn--update {
		flex: 0 0 auto;
	}
}

/* ---------- Toolbar: ricerca + filtro segmento ---------- */
.bpc-trasp-hidden { display: none !important; }

.bpc-trasp-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-bottom: 2rem;
	padding: 1rem 1.25rem;
	background: var(--bpct-surface, #fff);
	border: 1px solid var(--bpct-border, #e0bfc0);
}

.bpc-trasp-toolbar__search {
	position: relative;
	flex: 1 1 260px;
	min-width: 220px;
}
.bpc-trasp-toolbar__search-ic {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--bpct-muted, #8c7072);
	pointer-events: none;
	display: inline-flex;
}
.bpc-trasp-toolbar__search-ic .bpc-trasp-ic { width: 20px; height: 20px; }

.bpc-trasp-toolbar__search .bpc-trasp-search-input,
.bpc-trasp .bpc-trasp-search-input {
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0.7rem 0.9rem 0.7rem 2.6rem;
	font: inherit;
	color: var(--bpct-ink, #1a1c1c);
	background: var(--bpct-surface, #fff);
	border: 1px solid var(--bpct-border, #e0bfc0);
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
}
.bpc-trasp-toolbar__search .bpc-trasp-search-input:focus,
.bpc-trasp .bpc-trasp-search-input:focus {
	outline: 2px solid var(--bpct-primary, #63001b);
	outline-offset: 1px;
	border-color: var(--bpct-primary, #63001b);
}

.bpc-trasp-toolbar__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.bpc-trasp-filter {
	min-height: 44px;
	padding: 0.6rem 1.1rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bpct-primary, #63001b);
	background: transparent;
	border: 1px solid var(--bpct-primary, #63001b);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.bpc-trasp-filter:hover { background: color-mix(in srgb, var(--bpct-primary, #63001b) 8%, #fff); }
.bpc-trasp-filter.is-active {
	color: #fff;
	background: var(--bpct-primary, #63001b);
}
.bpc-trasp-filter:focus-visible {
	outline: 2px solid var(--bpct-primary, #63001b);
	outline-offset: 2px;
}

/* Filtro per anno: menu a tendina (scala meglio dei pulsanti). */
.bpc-trasp-toolbar__yearfilter {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.bpc-trasp-toolbar__yearlabel {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bpct-primary, #63001b);
}
.bpc-trasp-year-select {
	min-height: 44px;
	padding: 0.5rem 2.2rem 0.5rem 0.9rem;
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--bpct-primary, #63001b);
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2363001b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	border: 1px solid var(--bpct-primary, #63001b);
	border-radius: 0;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.bpc-trasp-year-select:focus-visible {
	outline: 2px solid var(--bpct-primary, #63001b);
	outline-offset: 2px;
}

/* Paginazione client-side: pulsante "Mostra altri". */
.bpc-trasp-more {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}
.bpc-trasp-more [data-bpc-more][hidden] {
	display: none;
}

.bpc-trasp-toolbar__status {
	flex: 1 0 100%;
	margin: 0;
	font-size: 0.85rem;
	color: var(--bpct-muted, #584142);
}

.bpc-trasp-card {
	display: flex;
	flex-direction: column;
	min-height: 210px;
	padding: 1.25rem;
	background: var(--bpct-surface, #fff);
	border: 1px solid var(--bpct-border, #e0bfc0);
	border-top: 1px solid var(--bpct-border, #e0bfc0);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.bpc-trasp-card:hover {
	transform: translateY(-2px);
	border-top: 4px solid var(--bpct-primary-strong, #8c052b);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08);
}

.bpc-trasp-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.6rem;
}
.bpc-trasp-card__icon {
	color: var(--bpct-primary, #63001b);
	flex: 0 0 auto;
	line-height: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bpc-trasp-card__icon .bpc-trasp-ic { width: 40px; height: 40px; display: block; }

/* Accenti tipo file (etichetta HTML, non testo SVG) */
.bpc-trasp-card__icon--pdf,
.bpc-file-type--pdf { --bpc-ft-accent: #8c052b; color: #8c052b; }
.bpc-trasp-card__icon--word,
.bpc-file-type--word { --bpc-ft-accent: #1a6fb5; color: #1a6fb5; }
.bpc-trasp-card__icon--sheet,
.bpc-file-type--sheet { --bpc-ft-accent: #2a6b32; color: #2a6b32; }
.bpc-trasp-card__icon--slide,
.bpc-file-type--slide { --bpc-ft-accent: #c45f00; color: #c45f00; }
.bpc-trasp-card__icon--archive,
.bpc-file-type--archive { --bpc-ft-accent: #7a6500; color: #7a6500; }
.bpc-trasp-card__icon--sign,
.bpc-file-type--sign { --bpc-ft-accent: #0d7a6e; color: #0d7a6e; }
.bpc-trasp-card__icon--audio,
.bpc-file-type--audio { --bpc-ft-accent: #6a1b9a; color: #6a1b9a; }
.bpc-trasp-card__icon--video,
.bpc-file-type--video { --bpc-ft-accent: #ad1457; color: #ad1457; }
.bpc-trasp-card__icon--image,
.bpc-file-type--image { --bpc-ft-accent: #0277bd; color: #0277bd; }
.bpc-trasp-card__icon--text,
.bpc-file-type--text { --bpc-ft-accent: #546e7a; color: #546e7a; }
.bpc-trasp-card__icon--other,
.bpc-file-type--other { --bpc-ft-accent: #6d4c4e; color: #6d4c4e; }
.bpc-trasp-card__icon--link,
.bpc-trasp-card__icon--content { color: #8c052b; }

.bpc-file-type {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex: 0 0 auto;
	/* Spazio sotto per l’etichetta che sporge dal foglio. */
	padding-bottom: 0.55rem;
}
.bpc-file-type .bpc-trasp-ic {
	width: 40px;
	height: 40px;
	display: block;
}
/* Etichetta leggibile: sfondo chiaro + bordo/colore tipo (niente pill rossa piena). */
.bpc-file-type__label {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: 1;
	display: inline-block;
	min-width: 2.1rem;
	padding: 0.18rem 0.38rem;
	border-radius: 4px;
	border: 1.5px solid var(--bpc-ft-accent, #8c052b);
	background: #fff;
	color: var(--bpc-ft-accent, #8c052b);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
	font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}
.bpc-trasp--doclist-list .bpc-file-type__label {
	font-size: 0.68rem;
	min-width: 2.35rem;
	padding: 0.2rem 0.42rem;
}

/* Pagina pubblica documento «Contenuto» */
.bpc-doc-content {
	padding: 2rem 0 3.5rem;
	background: #fff;
}
.bpc-doc-content__inner {
	width: min(720px, calc(100% - 2rem));
	margin: 0 auto;
}
.bpc-doc-content__header {
	margin-bottom: 1.75rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--bpct-border, #e0bfc0);
}
.bpc-doc-content__title {
	margin: 0.5rem 0 0.6rem;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	line-height: 1.25;
	color: var(--bpct-primary-strong, #8c052b);
}
.bpc-doc-content__lead {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.5;
	color: var(--bpct-muted, #584142);
}
.bpc-doc-content__body {
	font-size: 1.05rem;
	line-height: 1.7;
	color: #1d2327;
}
.bpc-doc-content__body > *:first-child { margin-top: 0; }
.bpc-doc-content__body > *:last-child { margin-bottom: 0; }
.bpc-doc-content__body p { margin: 0 0 1.1em; }
.bpc-doc-content__body h2,
.bpc-doc-content__body h3 {
	margin: 1.6em 0 0.55em;
	color: var(--bpct-primary, #63001b);
	line-height: 1.3;
}
.bpc-doc-content__body ul,
.bpc-doc-content__body ol {
	margin: 0 0 1.1em;
	padding-left: 1.35em;
}
.bpc-doc-content__back {
	margin: 2.25rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--bpct-border, #e0bfc0);
}

.bpc-trasp-card__type {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	color: var(--bpct-primary, #63001b);
	background: color-mix(in srgb, var(--bpct-primary, #63001b) 10%, #fff);
	border: 1px solid color-mix(in srgb, var(--bpct-primary, #63001b) 28%, #fff);
}

.bpc-trasp-card__title {
	margin: 0 0 0.35rem;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	overflow-wrap: break-word;
	hyphens: none;
}
.bpc-trasp-card__desc {
	margin: 0 0 0.35rem;
	font-size: 0.85rem;
	color: var(--bpct-muted, #584142);
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
	min-width: 0;
}
.bpc-trasp-card__meta {
	margin: 0;
	font-size: 0.78rem;
	color: var(--bpct-muted, #584142);
	overflow-wrap: break-word;
	hyphens: none;
}

.bpc-trasp-card__actions {
	display: flex;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 1rem;
}

/* ---------- Pulsanti ---------- */
.bpc-trasp-btn {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 44px;
	padding: 0 0.9rem;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.bpc-trasp-btn .bpc-trasp-ic { width: 18px; height: 18px; }

/* Scarica: rosso pieno (azione principale), distinto da Anteprima/Ascolta. */
.bpc-trasp-btn--primary {
	color: #fff;
	background: var(--bpct-primary-strong, #8c052b);
	border-color: var(--bpct-primary-strong, #8c052b);
}
.bpc-trasp-btn--primary:hover {
	color: #fff;
	background: var(--bpct-primary, #63001b);
	border-color: var(--bpct-primary, #63001b);
}
.bpc-trasp-btn--primary:focus-visible {
	outline: 3px solid var(--bpct-focus, #1a56db);
	outline-offset: 2px;
}
.bpc-trasp-btn--ghost {
	color: var(--bpct-muted, #584142);
	background: transparent;
	border-color: var(--bpct-border, #e0bfc0);
}
.bpc-trasp-btn--ghost:hover { background: var(--bpct-surface-2, #f4f3f3); border-color: var(--bpct-primary, #63001b); }

/* Scarica e Anteprima/Ascolta/Vedi: stessa larghezza (anche in card). */
.bpc-trasp-btn--primary,
.bpc-trasp-btn[data-bpc-preview] {
	min-width: 9.5rem;
	box-sizing: border-box;
}

/* Ascolta: viola soft, distinto da Anteprima grigia. */
.bpc-trasp-btn--listen {
	color: #5c2d7a;
	background: #f3ebf8;
	border-color: #c9a8d8;
}
.bpc-trasp-btn--listen:hover {
	color: #4a1f66;
	background: #e8d6f2;
	border-color: #5c2d7a;
}

/* Vedi (video): rosa soft, distinto da Ascolta/Anteprima. */
.bpc-trasp-btn--watch {
	color: #8c1548;
	background: #fce9f1;
	border-color: #e5a8c0;
}
.bpc-trasp-btn--watch:hover {
	color: #6e1038;
	background: #f6d4e3;
	border-color: #8c1548;
}

.bpc-trasp-btn:focus-visible,
.bpc-trasp-hub__card:focus-visible {
	outline: 3px solid var(--bpct-focus, #1a56db);
	outline-offset: 2px;
}

.bpc-trasp-empty { padding: 1rem; color: var(--bpct-muted, #584142); }

/* ---------- Hub (bento) ---------- */
.bpc-trasp-hub__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 1.25rem;
}
.bpc-trasp-hub__card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	height: 100%;
	padding: 1.5rem;
	background: var(--bpct-surface, #fff);
	border: 1px solid var(--bpct-border, #e0bfc0);
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.bpc-trasp-hub__card::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 3px;
	background: var(--bpct-primary, #63001b);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s ease;
}
.bpc-trasp-hub__card:hover { transform: translateY(-4px); box-shadow: 0 10px 20px -10px rgba(99, 0, 27, 0.25); }
.bpc-trasp-hub__card:hover::before { transform: scaleX(1); }

.bpc-trasp-hub__icon { color: var(--bpct-primary, #63001b); margin-bottom: 0.4rem; }
.bpc-trasp-hub__icon .bpc-trasp-ic { width: 30px; height: 30px; }
.bpc-trasp-hub__name {
	font-weight: 700;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	overflow-wrap: break-word;
	hyphens: none;
}
.bpc-trasp-hub__desc {
	font-size: 0.82rem;
	color: var(--bpct-muted, #584142);
	line-height: 1.5;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
	min-width: 0;
}

.bpc-trasp-card,
.bpc-trasp-hub__card,
.bpc-doc-content__lead {
	min-width: 0;
	max-width: 100%;
}

/* Contenitore pagina: resta 1280px (non forzare 100%). */
.bpc-trasp-archive__inner {
	min-width: 0;
}

.bpc-doc-content__lead {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}

.bpc-trasp-group__title {
	overflow-wrap: break-word;
	hyphens: none;
}

/* ---------- Widget prodotto ---------- */
.bpc-trasp-product { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--bpct-border, #e0bfc0); }
.bpc-trasp-product__title { font-size: 1.4rem; margin: 0 0 1.25rem; }

/* ---------- Modale anteprima ---------- */
.bpc-trasp-modal[hidden] { display: none; }
.bpc-trasp-modal {
	position: fixed; inset: 0; z-index: 100000;
	display: flex; flex-direction: column;
	background: rgba(0, 0, 0, 0.72);
}
.bpc-trasp-modal__bar {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem; padding: 0.6rem 1rem; background: #1a1a1a; color: #fff;
}
.bpc-trasp-modal__title { font-size: 0.95rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bpc-trasp-modal__actions { display: flex; gap: 0.5rem; flex: 0 0 auto; }
.bpc-trasp-modal__btn {
	min-height: 40px; padding: 0 0.9rem; border-radius: 4px;
	border: 1px solid rgba(255, 255, 255, 0.4); background: transparent; color: #fff;
	font-size: 0.85rem; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center;
}
.bpc-trasp-modal__btn:hover { background: rgba(255, 255, 255, 0.15); }
.bpc-trasp-modal__btn:focus-visible { outline: 3px solid #7aa7ff; outline-offset: 2px; }
.bpc-trasp-modal__stage {
	flex: 1 1 auto;
	display: flex;
	align-items: stretch;
	justify-content: center;
	min-height: 0;
	background: #111;
}
.bpc-trasp-modal__frame { flex: 1 1 auto; width: 100%; border: 0; background: #fff; }
.bpc-trasp-modal__audio {
	width: min(36rem, 92%);
	margin: auto;
}
.bpc-trasp-modal__video {
	width: min(100%, 960px);
	max-height: calc(100vh - 4.5rem);
	margin: auto;
	background: #000;
}
.bpc-trasp-modal--audio .bpc-trasp-modal__stage {
	align-items: center;
	background: radial-gradient(ellipse at center, #2a2224 0%, #121212 70%);
}
.bpc-trasp-modal--video .bpc-trasp-modal__stage {
	align-items: center;
	background: #000;
}
.bpc-trasp-modal--pdf .bpc-trasp-modal__stage { background: #fff; }

@media (max-width: 600px) {
	/*
	 * Mobile: meno altezza per card e toolbar.
	 * I pulsanti restano in riga (non a colonna): altrimenti una sola card
	 * occupa quasi tutto lo schermo (Scarica + Anteprima + Aggiorna impilati).
	 */
	.bpc-trasp-card {
		min-height: 0;
		padding: 0.9rem 0.95rem 0.85rem;
	}
	.bpc-trasp-card__head {
		margin-bottom: 0.35rem;
	}
	.bpc-trasp-card__icon .bpc-trasp-ic,
	.bpc-file-type.bpc-trasp-card__icon .bpc-trasp-ic {
		width: 36px;
		height: 36px;
	}
	.bpc-trasp--doclist-list .bpc-trasp-card__icon .bpc-trasp-ic,
	.bpc-trasp--doclist-list .bpc-file-type .bpc-trasp-ic {
		width: 40px;
		height: 40px;
	}
	.bpc-trasp-card__title {
		font-size: 0.84rem;
		margin-bottom: 0.2rem;
	}
	.bpc-trasp-card__desc {
		font-size: 0.8rem;
	}
	.bpc-trasp-card__meta {
		font-size: 0.74rem;
	}
	.bpc-trasp-card__actions {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0.4rem;
		padding-top: 0.7rem;
	}
	.bpc-trasp-btn {
		min-height: 40px;
		padding: 0 0.55rem;
		font-size: 0.72rem;
		letter-spacing: 0.02em;
	}
	/* Aggiorna file: solo icona, non ruba una riga intera. */
	.bpc-trasp-btn--update {
		flex: 0 0 auto;
		width: 40px;
		padding: 0;
	}
	.bpc-trasp-btn--update .bpc-trasp-ic {
		width: 18px;
		height: 18px;
	}

	/* Toolbar più compatta: cerca + anno senza padding eccessivo. */
	.bpc-trasp-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 0.55rem;
		margin-bottom: 1.15rem;
		padding: 0.65rem 0.75rem;
	}
	.bpc-trasp-toolbar__search {
		flex: 1 1 auto;
		min-width: 0;
	}
	.bpc-trasp-toolbar__search .bpc-trasp-search-input,
	.bpc-trasp .bpc-trasp-search-input {
		min-height: 40px;
		padding: 0.55rem 0.75rem 0.55rem 2.35rem;
		font-size: 0.95rem;
	}
	.bpc-trasp-toolbar__search-ic {
		left: 0.7rem;
	}
	.bpc-trasp-toolbar__search-ic .bpc-trasp-ic {
		width: 18px;
		height: 18px;
	}
	.bpc-trasp-toolbar__filters {
		width: 100%;
	}
	.bpc-trasp-toolbar__yearfilter {
		width: 100%;
		justify-content: space-between;
		gap: 0.65rem;
	}
	.bpc-trasp-year-select {
		flex: 1 1 auto;
		min-width: 0;
		min-height: 40px;
	}
	.bpc-trasp-toolbar__status {
		font-size: 0.8rem;
	}
	.bpc-trasp-filter {
		flex: 1 1 auto;
		min-height: 40px;
		text-align: center;
		padding: 0.5rem 0.75rem;
	}

	/* Lista: azioni in riga sotto titolo, altezza contenuta. */
	.bpc-trasp--doclist-list .bpc-trasp-card {
		padding: 0.75rem 0.85rem;
		row-gap: 0.4rem;
	}
	.bpc-trasp--doclist-list .bpc-trasp-card__actions {
		gap: 0.35rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bpc-trasp-card, .bpc-trasp-hub__card, .bpc-trasp-hub__card::before { transition: none; }
}
