/*
 * Percorso archivistico. Le tinte dei livelli derivano da primary-main del sottosito:
 * piu' il livello e' generale, piu' la tinta e' intensa.
 */
.aw-archival-path {
	--aw-archival-main: var(--wp--preset--color--primary-main, #3169b1);
	--aw-archival-line: var(--wp--preset--color--primary-soft-2, #7fa0cc);
	--aw-archival-leaf-border: var(--wp--preset--color--primary-soft-3, #a9c0de);
	--aw-archival-border: color-mix(in srgb, var(--wp--preset--color--primary-dark-2, #1f3f6b) 16%, #fff);
	--aw-archival-gap: 1.125rem;
	--aw-archival-branch-gap: 0.625rem;
}

.aw-archival-path__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.aw-archival-level {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
}

.aw-archival-level__box {
	align-items: center;
	background: #fff;
	border: 1px solid var(--aw-archival-border);
	box-sizing: border-box;
	display: flex;
	gap: 1rem;
	padding: 0.875rem 1.125rem;
}

.aw-archival-level--fondo > .aw-archival-level__box {
	background: color-mix(in srgb, var(--aw-archival-main) 24%, #fff);
}

.aw-archival-level--serie > .aw-archival-level__box {
	background: color-mix(in srgb, var(--aw-archival-main) 17%, #fff);
}

.aw-archival-level--sottoserie > .aw-archival-level__box {
	background: color-mix(in srgb, var(--aw-archival-main) 11%, #fff);
}

.aw-archival-level--unita > .aw-archival-level__box {
	background: color-mix(in srgb, var(--aw-archival-main) 7%, #fff);
}

.aw-archival-level__icon {
	color: var(--aw-archival-main);
	flex: 0 0 auto;
	font-size: 1.75rem;
	text-align: center;
	width: 2.25rem;
}

.aw-archival-level__text {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
}

.aw-archival-level__type {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.25;
}

.aw-archival-level__name,
.aw-archival-level__detail {
	font-size: 0.9375rem;
	line-height: 1.4;
}

/* Unita' documentaria: scheda verticale e centrata. */
.aw-archival-level--documentaria > .aw-archival-level__box {
	border-color: var(--aw-archival-leaf-border);
	flex-direction: column;
	gap: 0.375rem;
	padding: 1.125rem 1rem;
	text-align: center;
}

.aw-archival-level--documentaria > .aw-archival-level__box .aw-archival-level__text {
	align-items: center;
}

/* Figli: connettore verticale dal livello padre. */
.aw-archival-level__children {
	padding-top: var(--aw-archival-gap);
	position: relative;
}

.aw-archival-level__children::before {
	background: var(--aw-archival-line);
	content: "";
	height: var(--aw-archival-gap);
	left: 50%;
	margin-left: -1px;
	position: absolute;
	top: 0;
	width: 2px;
}

.aw-archival-level__children:not(.is-branch) > .aw-archival-level--documentaria {
	margin-inline: auto;
	width: 72%;
}

/* Diramazione: piu' figli affiancati, collegati da una linea orizzontale. */
.aw-archival-level__children.is-branch {
	--aw-archival-columns: 2;
	column-gap: var(--aw-archival-branch-gap);
	display: grid;
	grid-template-columns: repeat(var(--aw-archival-columns), minmax(0, 1fr));
	padding-top: calc(var(--aw-archival-gap) * 2);
	row-gap: var(--aw-archival-gap);
}

.aw-archival-level__children.is-branch::after {
	background: var(--aw-archival-line);
	content: "";
	height: 2px;
	left: calc((100% - (var(--aw-archival-columns) - 1) * var(--aw-archival-branch-gap)) / (2 * var(--aw-archival-columns)));
	position: absolute;
	right: calc((100% - (var(--aw-archival-columns) - 1) * var(--aw-archival-branch-gap)) / (2 * var(--aw-archival-columns)));
	top: var(--aw-archival-gap);
}

.aw-archival-level__children.is-branch > .aw-archival-level {
	position: relative;
}

.aw-archival-level__children.is-branch > .aw-archival-level::before {
	background: var(--aw-archival-line);
	content: "";
	height: var(--aw-archival-gap);
	left: 50%;
	margin-left: -1px;
	position: absolute;
	top: calc(var(--aw-archival-gap) * -1);
	width: 2px;
}

.aw-archival-level__children.is-branch > .aw-archival-level > .aw-archival-level__box {
	flex: 1 1 auto;
}

.aw-archival-level__children.is-branch > .aw-archival-level--documentaria > .aw-archival-level__box {
	padding: 0.875rem 0.5rem;
}

.aw-archival-level__children.is-branch > .aw-archival-level--documentaria .aw-archival-level__icon {
	font-size: 1.375rem;
}

.aw-archival-level__children.is-branch > .aw-archival-level--documentaria .aw-archival-level__type {
	font-size: 0.875rem;
}

.aw-archival-level__children.is-branch > .aw-archival-level--documentaria .aw-archival-level__name,
.aw-archival-level__children.is-branch > .aw-archival-level--documentaria .aw-archival-level__detail {
	font-size: 0.8125rem;
}

/* Mobile: la diramazione diventa un elenco verticale con connettore laterale. */
@media (max-width: 600px) {
	.aw-archival-level__children.is-branch {
		display: flex;
		flex-direction: column;
		gap: var(--aw-archival-branch-gap);
		padding: var(--aw-archival-gap) 0 0 2rem;
	}

	.aw-archival-level__children.is-branch::after {
		display: none;
	}

	.aw-archival-level__children.is-branch > .aw-archival-level::before {
		height: 2px;
		left: -1rem;
		margin-left: 0;
		top: 50%;
		width: 1rem;
	}

	.aw-archival-level__children.is-branch > .aw-archival-level::after {
		background: var(--aw-archival-line);
		content: "";
		height: calc(50% + var(--aw-archival-branch-gap));
		left: -1rem;
		position: absolute;
		top: calc(var(--aw-archival-branch-gap) * -1);
		width: 2px;
	}

	.aw-archival-level__children.is-branch > .aw-archival-level:first-child::after {
		height: calc(50% + var(--aw-archival-gap));
		top: calc(var(--aw-archival-gap) * -1);
	}

	.aw-archival-level__children.is-branch::before {
		left: 1rem;
	}

	.aw-archival-level__children.is-branch > .aw-archival-level--documentaria > .aw-archival-level__box {
		flex-direction: row;
		gap: 0.75rem;
		padding: 0.75rem 0.875rem;
		text-align: left;
	}

	.aw-archival-level__children.is-branch > .aw-archival-level--documentaria .aw-archival-level__text {
		align-items: flex-start;
	}

	.aw-archival-level__children:not(.is-branch) > .aw-archival-level--documentaria {
		width: 85%;
	}
}

/* Sezione del pattern "Esempi di percorso archivistico". */
.aw-archival-examples {
	--aw-archival-main: var(--wp--preset--color--primary-main, #3169b1);
	--aw-archival-border: color-mix(in srgb, var(--wp--preset--color--primary-dark-2, #1f3f6b) 16%, #fff);
	background: color-mix(in srgb, var(--aw-archival-main) 5%, #fff);
}

.aw-archival-examples__panel {
	background: #fff;
	border: 1px solid var(--aw-archival-border);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	height: 100%;
	padding: 2rem 1.75rem;
}

.aw-archival-examples__panel > * {
	margin-block: 0;
}

.aw-archival-examples__eyebrow {
	color: var(--wp--preset--color--primary-dark-1, #1f4f8f);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.aw-archival-examples__panel > .aw-archival-path {
	margin-top: 1rem;
}

@media (max-width: 600px) {
	.aw-archival-examples__panel {
		padding: 1.5rem 1.125rem;
	}
}
