/* GeM – Publications HAL : style sobre (texte gris, filtres repliables, étiquettes discrètes). */
.gem-hal {
	--hal-text: #5f6368;
	--hal-dark: #3c4043;
	--hal-link: #12395b;
	--hal-line: #e6e8eb;
	--hal-soft: #f5f5f5;
	display: grid;
	grid-template-columns: minmax(180px, 1fr) 3.4fr;
	gap: 1.8em;
	margin: 1.5em 0;
	color: var(--hal-text);
	font-size: 13px;
	line-height: 1.5;
}
.gem-hal *, .gem-hal *::before, .gem-hal *::after { box-sizing: border-box; }
.gem-hal a { text-decoration: none; }
.gem-hal.is-loading .gem-hal-main { opacity: .5; transition: opacity .2s; }

/* Filtres repliables */
.gem-hal-count { margin: 0 0 .8em; }
.gem-hal-filter { margin: 0 0 .6em; }
.gem-hal-filter summary {
	position: relative;
	padding: .4em 2em .4em 1em;
	border-radius: 5px;
	background: var(--hal-soft);
	font-size: .92em;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	list-style: none;
	cursor: pointer;
}
.gem-hal-filter summary::-webkit-details-marker { display: none; }
.gem-hal-filter summary::after {
	content: "";
	position: absolute;
	right: .9em;
	top: 50%;
	width: .45em;
	height: .45em;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
	transition: transform .15s;
}
.gem-hal-filter[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.gem-hal-filter-body { padding: .5em .2em .3em .6em; }
.gem-hal-opt { display: flex; align-items: center; gap: .6em; padding: .15em 0; cursor: pointer; }
.gem-hal-opt input { flex: none; margin: 0; accent-color: #6c757d; }
.gem-hal-opt span { flex: 1; }
.gem-hal-opt small { color: #9aa0a6; font-size: .9em; }
.gem-hal-opt.is-extra { display: none; }
.gem-hal-filter.is-open .gem-hal-opt.is-extra { display: flex; }
.gem-hal-more, .gem-hal-reset {
	margin-top: .3em;
	padding: 0;
	border: 0;
	background: none;
	color: var(--hal-link);
	font: inherit;
	font-size: .92em;
	cursor: pointer;
}
.gem-hal-more:hover, .gem-hal-reset:hover { text-decoration: underline; }

/* Recherche */
.gem-hal-search { display: flex; margin-bottom: 1em; }
.gem-hal-search input {
	flex: 1;
	min-width: 0;
	padding: .4em .8em;
	border: 1px solid #ced4da;
	border-right: 0;
	border-radius: 5px 0 0 5px;
	color: var(--hal-dark);
	font: inherit;
}
.gem-hal-search input:focus { outline: 2px solid #c8d4e0; outline-offset: 0; }
.gem-hal-btn {
	padding: .4em .9em;
	border: 1px solid #6c757d;
	border-radius: 0 5px 5px 0;
	background: transparent;
	color: #6c757d;
	font: inherit;
	cursor: pointer;
}
.gem-hal-btn:hover { background: #6c757d; color: #fff; }
.gem-hal-side .gem-hal-btn { border-radius: 5px; }

/* Pagination compacte */
.gem-hal-pages ul { display: inline-flex; flex-wrap: wrap; margin: 0 0 1em; padding: 0; list-style: none; }
.gem-hal-pages li + li a, .gem-hal-pages li + li span { margin-left: -1px; }
.gem-hal-pages a, .gem-hal-pages span {
	display: block;
	min-width: 1.9em;
	padding: .15em .45em;
	border: 1px solid #ddd;
	color: #807e75;
	font-size: 1.05em;
	text-align: center;
}
.gem-hal-pages li:first-child > * { border-radius: 5px 0 0 5px; }
.gem-hal-pages li:last-child > * { border-radius: 0 5px 5px 0; }
.gem-hal-pages a:hover { background: var(--hal-soft); }
.gem-hal-pages span[aria-current] { position: relative; background: #6c757d; border-color: #6c757d; color: #fff; }

/* Liste */
.gem-hal-list { margin: 0 0 1em; padding: 0; list-style: none; border-top: 1px solid var(--hal-line); }
.gem-hal-item { display: flex; gap: .9em; padding: .7em .6em; border-bottom: 1px solid var(--hal-line); }
.gem-hal-item:hover { background: #fafafa; }
.gem-hal-thumb { flex: none; width: 44px; }
.gem-hal-thumb img { display: block; width: 44px; height: auto; padding: 2px; border: 1px solid #dee2e6; border-radius: 4px; background: #fff; }
.gem-hal-body { flex: 1; min-width: 0; }
.gem-hal-body p { margin: 0 0 .15em; }
.gem-hal-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .2em .5em; }
.gem-hal-id { color: var(--hal-text); }
.gem-hal-id small { font-size: .85em; }
.gem-hal-type {
	padding: .1em .45em;
	border-radius: 3px;
	color: #fff;
	font-size: .72em;
	font-weight: 700;
	background: #8a9099;
}
.gem-hal-type--pub { background: #dc3545; }
.gem-hal-type--conf { background: #4b84c4; }
.gem-hal-type--these { background: #7d5ba6; }
.gem-hal-type--pre { background: #e0a800; }
.gem-hal-ref { color: var(--hal-text); }
.gem-hal-member { color: var(--hal-link); }
.gem-hal-member:hover, .gem-hal-title:hover, .gem-hal-id:hover { text-decoration: underline; }
.gem-hal-title { color: var(--hal-dark); font-weight: 700; }
.gem-hal-cite { font-size: .95em; overflow-wrap: anywhere; }
.gem-hal-cite a { color: var(--hal-text); }
.gem-hal-msg { padding: .8em 1em; border-radius: 5px; background: var(--hal-soft); }
.gem-hal-source { font-size: .9em; }
.gem-hal-source a { color: #9aa0a6; }

@media (max-width: 760px) {
	.gem-hal { grid-template-columns: 1fr; gap: .8em; }
}
