/* Glossaire — terme souligné + infobulle (couleurs reprises du thème). */

.adg-term {
	text-decoration: underline dotted;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
	cursor: help;
	border-radius: 2px;
}
.adg-term:hover,
.adg-term[aria-describedby] {
	text-decoration-style: solid;
}
.adg-term:focus-visible {
	outline: 2px solid var(--ink, #16213E);
	outline-offset: 2px;
}

.adg-tip {
	position: absolute;
	z-index: 9999;
	width: max-content;
	max-width: min(360px, calc(100vw - 24px));
	padding: 16px 18px;
	background: var(--ink, #16213E);
	color: var(--paper, #fff);
	font-family: 'Newsreader', Georgia, serif;
	font-size: 15px;
	line-height: 1.45;
	text-align: left;
	box-shadow: 0 12px 32px rgba(13, 20, 40, .25);
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 140ms ease, transform 140ms ease;
}
.adg-tip.is-open { opacity: 1; transform: none; }
.adg-tip[hidden] { display: none; }

.adg-tip::after {
	content: '';
	position: absolute;
	left: var(--adg-arrow, 50%);
	bottom: -6px;
	width: 12px;
	height: 12px;
	margin-left: -6px;
	background: inherit;
	transform: rotate(45deg);
}
.adg-tip.is-below::after { bottom: auto; top: -6px; }

.adg-tip__term {
	display: block;
	margin-bottom: 6px;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	opacity: .75;
}
.adg-tip__def { display: block; }
.adg-tip__def::first-letter { text-transform: uppercase; }
.adg-tip__src {
	display: block;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, .2);
	font-size: 13px;
	font-style: italic;
	opacity: .8;
}
.adg-tip__src[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
	.adg-tip { transition: none; transform: none; }
}
