/* Nova Sommaire — TOC dynamique (variables = Style WPBakery) */

.nova-sommaire {
	--nova-sommaire-bg: transparent;
	--nova-sommaire-border-color: transparent;
	--nova-sommaire-border-width: 0;
	--nova-sommaire-border-style: solid;
	--nova-sommaire-radius: 0;
	--nova-sommaire-shadow: none;
	--nova-sommaire-padding: 0;
	--nova-sommaire-margin: 0;
	--nova-sommaire-width: auto;
	--nova-sommaire-max-width: none;
	--nova-sommaire-gap: 10px;

	--nova-sommaire-title: #6b7280;
	--nova-sommaire-title-font: inherit;
	--nova-sommaire-title-size: 0.75rem;
	--nova-sommaire-title-weight: 700;
	--nova-sommaire-title-lh: 1.3;
	--nova-sommaire-title-ls: 0.06em;
	--nova-sommaire-title-transform: uppercase;
	--nova-sommaire-title-margin: 14px;

	--nova-sommaire-link: #3a3a3a;
	--nova-sommaire-link-hover: #6b2d8b;
	--nova-sommaire-link-font: inherit;
	--nova-sommaire-link-size: 1rem;
	--nova-sommaire-link-weight: 600;
	--nova-sommaire-link-lh: 1.35;
	--nova-sommaire-link-ls: normal;
	--nova-sommaire-link-transform: none;
	--nova-sommaire-link-decoration: none;

	--nova-sommaire-active: #6b2d8b;
	--nova-sommaire-active-bg: transparent;
	--nova-sommaire-active-weight: 700;
	--nova-sommaire-active-padding: 0;
	--nova-sommaire-active-radius: 0;
	--nova-sommaire-active-bar: 0;

	--nova-sommaire-indent: 1.1rem;
	--nova-sommaire-sub-size: 0.92em;
	--nova-sommaire-sub-weight: 500;
	--nova-sommaire-sub-color: inherit;
	--nova-sommaire-bullet-size: 0.75em;
	--nova-sommaire-bullet-color: currentColor;
	--nova-sommaire-bullet-opacity: 0.45;
	--nova-sommaire-bullet-gap: 8px;

	--nova-sommaire-num-color: inherit;
	--nova-sommaire-num-size: inherit;
	--nova-sommaire-num-weight: inherit;
	--nova-sommaire-num-gap: 0.35em;
	--nova-sommaire-num-min-width: 0;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: var(--nova-sommaire-width);
	max-width: var(--nova-sommaire-max-width);
	height: var(--nova-sommaire-height, auto);
	max-height: calc(100vh - 404px);
	margin: var(--nova-sommaire-margin);
	padding: var(--nova-sommaire-padding);
	background: var(--nova-sommaire-bg);
	border: var(--nova-sommaire-border-width) var(--nova-sommaire-border-style) var(--nova-sommaire-border-color);
	border-radius: var(--nova-sommaire-radius);
	box-shadow: var(--nova-sommaire-shadow);
	overflow: hidden;
}

.nova-sommaire__title {
	flex: 0 0 auto;
	margin: 0 0 var(--nova-sommaire-title-margin);
	font-family: var(--nova-sommaire-title-font);
	font-size: var(--nova-sommaire-title-size);
	font-weight: var(--nova-sommaire-title-weight);
	line-height: var(--nova-sommaire-title-lh);
	letter-spacing: var(--nova-sommaire-title-ls);
	text-transform: var(--nova-sommaire-title-transform);
	color: var(--nova-sommaire-title);
}

.nova-sommaire__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	gap: var(--nova-sommaire-gap);
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.nova-sommaire__item {
	margin: 0;
	padding: 0;
}

.nova-sommaire__item--sub {
	padding-left: var(--nova-sommaire-indent);
}

.nova-sommaire__item--sub .nova-sommaire__link {
	font-size: var(--nova-sommaire-sub-size);
	font-weight: var(--nova-sommaire-sub-weight);
	color: var(--nova-sommaire-sub-color);
}

.nova-sommaire.has-sub-bullet--dot .nova-sommaire__item--sub .nova-sommaire__link::before {
	content: "";
	display: inline-block;
	width: var(--nova-sommaire-bullet-size);
	height: var(--nova-sommaire-bullet-size);
	margin-right: var(--nova-sommaire-bullet-gap);
	border-radius: 50%;
	background: var(--nova-sommaire-bullet-color);
	opacity: var(--nova-sommaire-bullet-opacity);
	vertical-align: middle;
	flex-shrink: 0;
}

.nova-sommaire__bullet {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-right: var(--nova-sommaire-bullet-gap);
	opacity: var(--nova-sommaire-bullet-opacity);
	line-height: 1;
}

.nova-sommaire__bullet--text {
	color: var(--nova-sommaire-bullet-color);
	font-size: var(--nova-sommaire-bullet-size);
	font-weight: 700;
}

.nova-sommaire__bullet--media {
	width: var(--nova-sommaire-bullet-size);
	height: var(--nova-sommaire-bullet-size);
}

.nova-sommaire__bullet--media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.nova-sommaire__link {
	display: inline-flex;
	align-items: baseline;
	box-sizing: border-box;
	max-width: 100%;
	color: var(--nova-sommaire-link);
	text-decoration: var(--nova-sommaire-link-decoration);
	font-family: var(--nova-sommaire-link-font);
	font-weight: var(--nova-sommaire-link-weight);
	font-size: var(--nova-sommaire-link-size);
	line-height: var(--nova-sommaire-link-lh);
	letter-spacing: var(--nova-sommaire-link-ls);
	text-transform: var(--nova-sommaire-link-transform);
	transition: color 0.2s ease, background-color 0.2s ease;
	border-left: var(--nova-sommaire-active-bar) solid transparent;
	padding: var(--nova-sommaire-active-padding);
	border-radius: var(--nova-sommaire-active-radius);
}

.nova-sommaire__link:hover {
	color: var(--nova-sommaire-link-hover);
}

.nova-sommaire__item.is-active .nova-sommaire__link {
	color: var(--nova-sommaire-active);
	font-weight: var(--nova-sommaire-active-weight);
	background: var(--nova-sommaire-active-bg);
	border-left-color: var(--nova-sommaire-active);
}

.nova-sommaire__num {
	display: inline-block;
	min-width: var(--nova-sommaire-num-min-width);
	margin-right: var(--nova-sommaire-num-gap);
	color: var(--nova-sommaire-num-color);
	font-size: var(--nova-sommaire-num-size);
	font-weight: var(--nova-sommaire-num-weight);
	flex-shrink: 0;
}

.nova-sommaire__label {
	display: inline;
}

.nova-sommaire__placeholder {
	margin: 8px 0 0;
	font-size: 0.85rem;
	color: #646970;
	font-style: italic;
}

/* Pas de titres / liens : masquer tout le bloc (titre inclus). */
.nova-sommaire.is-empty,
.nova-sommaire[hidden] {
	display: none !important;
}

@media (max-width: 900px) {
	.nova-sommaire__list {
		flex-direction: column;
		flex-wrap: nowrap;
	}

	.nova-sommaire__item--sub {
		padding-left: var(--nova-sommaire-indent);
	}
}
