/*
Theme Name: Corpus
Author: Corpus
Description: Consultation du corpus.
Version: 1.6.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: corpus-theme
*/

html {
	background: #fff;
}

body {
	margin: 0;
	background: #fff;
	color: #1a1a1a;
	font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

body,
button,
input,
select,
textarea {
	font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
	color: #1a1a1a;
}

h1,
h2,
h3,
h4 {
	color: #16324f;
	font-weight: 600;
	line-height: 1.25;
	text-align: left;
	hyphens: manual;
}

h1 {
	margin: 0 0 1rem;
	font-size: 1.75rem;
}

h2 {
	margin: 1.6rem 0 0.7rem;
	padding-bottom: 0.3rem;
	border-bottom: 2px solid #16324f;
	font-size: 1.15rem;
}

h3 {
	margin: 1.2rem 0 0.4rem;
	font-size: 1.05rem;
}

a {
	color: #0d4f8b;
}

a:visited {
	color: #0d4f8b;
}

a:hover,
a:focus {
	text-decoration: underline;
}

.page {
	max-width: 72rem;
	margin: 0 auto;
	padding: 1.5rem 1.5rem 3rem;
}

.entete {
	background: #16324f;
	color: #fff;
}

.bandeau {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	max-width: 72rem;
	margin: 0 auto;
	padding: 0.9rem 1.5rem;
}

.nom-site {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.2;
}

.nom-site a {
	color: #fff;
	text-decoration: none;
}

.slogan {
	margin: 0.15rem 0 0;
	color: #d5dde6;
	font-size: 0.9rem;
}

.bandeau .recherche {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0 auto;
}

.bandeau .recherche input[type="search"] {
	width: 16rem;
	max-width: 40vw;
	background: #fff;
	border: 0;
	padding: 0.45rem 0.6rem;
}

.bandeau .recherche button {
	background: #fff;
	color: #16324f;
	border: 0;
	padding: 0.45rem 0.75rem;
	font-weight: 600;
	cursor: pointer;
}

.navigation {
	background: #fff;
	border-bottom: 3px solid #c8102e;
}

.navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	max-width: 72rem;
	margin: 0 auto;
	padding: 0 0.8rem;
	list-style: none;
}

.navigation li {
	display: block;
}

.navigation li::after {
	content: none;
}

.navigation a {
	display: block;
	padding: 0.7rem 0.75rem;
	color: #16324f;
	text-decoration: none;
	font-size: 0.95rem;
}

.navigation a:hover,
.navigation a:focus {
	background: #f4f7fa;
}

.navigation a[aria-current="page"] {
	font-weight: 600;
	box-shadow: inset 0 -3px 0 #16324f;
}

.chiffres {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.6rem;
	padding: 0;
	list-style: none;
}

.chiffres a {
	display: flex;
	flex-direction: column;
	min-width: 7.2rem;
	padding: 0.55rem 0.75rem;
	background: #f4f7fa;
	border: 1px solid #d5dde4;
	color: #16324f;
	text-decoration: none;
}

.chiffres a:hover,
.chiffres a:focus {
	border-color: #16324f;
}

.chiffres strong {
	font-size: 1.35rem;
	line-height: 1.1;
}

.chiffres span {
	color: #5e6a75;
	font-size: 0.82rem;
}

.chemin,
.voisins,
.liens {
	margin: 0 0 0.7rem;
	color: #5e6a75;
	font-size: 0.9rem;
	text-align: left;
}

.chemin ol,
.voisins ul,
.liens ul,
.thesaurus {
	list-style: none;
	margin: 0.3rem 0 0.8rem;
	padding: 0;
}

.chemin li {
	display: inline;
}

.chemin li:not(:last-child)::after {
	content: " / ";
	color: #8b97a3;
}

ul.dossiers {
	list-style: none;
	margin: 0.2rem 0 0.55rem;
	padding: 0 0 0 0.85rem;
	border-left: 1px solid #d5dde4;
}

.thesaurus ul {
	margin: 0.15rem 0 0.4rem 1.2rem;
	padding: 0;
	list-style: none;
}

.dossier-entree {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem 0.75rem;
	align-items: baseline;
	margin: 0.45rem 0 0.15rem;
	padding: 0.4rem 0.65rem;
	background: #f4f7fa;
	border-left: 3px solid #16324f;
}

.dossier-entree a {
	color: #16324f;
	font-weight: 600;
	text-decoration: none;
}

.dossier-entree a:hover,
.dossier-entree a:focus {
	text-decoration: underline;
}

.dossier-nom,
.dossier-entree .extrait,
.pieces .extrait {
	color: #5e6a75;
}

p.dossier-nom {
	margin: -0.35rem 0 1rem;
	color: #5e6a75;
	font-size: 1.05rem;
}

.pieces {
	list-style: none;
	margin: 0.1rem 0 0.45rem;
	padding: 0 0 0 0.85rem;
	border-left: 1px solid #d5dde4;
}

.pieces li {
	padding: 0.28rem 0.55rem;
	border-bottom: 1px solid #e3e8ee;
}

.pieces a {
	font-weight: 600;
}

.pieces .extrait {
	margin-left: 0.65rem;
}

form.recherche-generale,
form.filtres {
	margin: 0 0 1.4rem;
}

form.filtres {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem 1rem;
}

form.filtres p,
form.recherche-generale p,
.connexion p {
	margin: 0 0 0.75rem;
}

form.filtres p:last-child {
	grid-column: 1 / -1;
	margin: 0.3rem 0 0;
}

label {
	display: block;
	margin-bottom: 0.2rem;
	color: #5e6a75;
	font-size: 0.82rem;
}

input[type="search"],
input[type="text"],
input[type="password"],
select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 0.45rem 0.55rem;
	background: #fff;
	border: 1px solid #b7c2cc;
	color: #1a1a1a;
}

form.recherche-generale input[type="search"] {
	max-width: 36rem;
}

button,
.connexion button,
form.filtres button,
form.recherche-generale button {
	background: #16324f;
	color: #fff;
	border: 0;
	padding: 0.5rem 0.9rem;
	font-weight: 600;
	cursor: pointer;
}

button.texte {
	background: transparent;
	color: #0d4f8b;
	border: 0;
	padding: 0;
	font-weight: 400;
	text-decoration: underline;
	cursor: pointer;
}

.connexion {
	max-width: 24rem;
}

.connexion label {
	margin-top: 0.7rem;
}

.meta {
	display: grid;
	grid-template-columns: 11rem 1fr;
	gap: 0 1rem;
	margin: 0 0 1.4rem;
	padding: 0;
}

.meta dt,
.meta dd {
	display: block;
	margin: 0;
	padding: 0.4rem 0;
	border-bottom: 1px solid #e3e8ee;
	text-align: left;
	font-weight: 400;
}

.meta dt {
	color: #5e6a75;
}

.meta dt::after,
.meta dd::after {
	content: none;
}

article::after {
	content: "";
	display: table;
	clear: both;
}

.infobox {
	float: right;
	width: 18rem;
	max-width: 100%;
	margin: 0 0 1rem 1.5rem;
	padding: 0.8rem;
	background: #f4f7fa;
	border: 1px solid #d5dde4;
}

.infobox .meta {
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
}

.infobox .meta dt,
.infobox .meta dd {
	border: 0;
	padding: 0;
}

.infobox .meta dt {
	margin-top: 0.55rem;
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.infobox .meta dd {
	margin-bottom: 0.15rem;
}

.infobox .planche {
	margin: 0 0 0.4rem;
}

.infobox img {
	display: block;
	width: 100%;
	height: auto;
	cursor: pointer;
}

.infobox figcaption,
figcaption {
	margin-top: 0.3rem;
	color: #5e6a75;
	font-size: 0.85rem;
	text-align: left;
}

#corpus-agrandi {
	position: fixed;
	inset: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	background: rgba(22, 50, 79, 0.92);
}

#corpus-agrandi[hidden] {
	display: none;
}

#corpus-agrandi figure {
	margin: 0;
	max-width: 100%;
	max-height: 100%;
}

#corpus-agrandi img {
	max-width: 100%;
	max-height: 78vh;
	height: auto;
	background: #fff;
}

#corpus-agrandi figcaption {
	color: #fff;
	text-align: center;
}

#corpus-agrandi button {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: #fff;
	color: #16324f;
	text-decoration: none;
	padding: 0.4rem 0.7rem;
	font-weight: 600;
}

.notice,
.notice p,
main p,
main li,
.extrait,
.annexe li,
.biblio li {
	text-align: left;
	hyphens: manual;
}

.notice {
	max-width: 42rem;
	margin: 0.4rem 0 1.2rem;
	font-size: 1.05rem;
	line-height: 1.6;
}

.annexe {
	margin: 1.2rem 0;
}

.annexe ol {
	margin: 0.4rem 0 0;
	padding-left: 1.4rem;
}

.annexe li {
	margin: 0 0 0.9rem;
}

.annexe .source {
	margin: 0.15rem 0 0;
	color: #5e6a75;
	font-size: 0.92rem;
}

blockquote {
	margin: 0.8rem 0 0.8rem 1rem;
	padding-left: 0.8rem;
	border-left: 3px solid #d5dde4;
}

.biblio {
	list-style: none;
	margin: 0;
	padding: 0;
}

.biblio li {
	margin: 0 0 0.7rem;
}

.criteres {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.criteres li {
	padding: 0.2rem 0.5rem;
	background: #f4f7fa;
	border: 1px solid #d5dde4;
	font-size: 0.9rem;
}

.table-wrap {
	overflow-x: auto;
}

table.catalogue {
	width: 100%;
	border-collapse: collapse;
	margin: 0.2rem 0 1.2rem;
}

table.catalogue th,
table.catalogue td {
	padding: 0.5rem 0.7rem;
	border-bottom: 1px solid #e3e8ee;
	text-align: left;
	vertical-align: top;
	font-weight: 400;
}

table.catalogue th {
	background: #f4f7fa;
	color: #16324f;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

table.catalogue tr:hover td {
	background: #f8fafc;
}

figure.planche {
	margin: 1rem 0;
}

figure.planche img {
	max-width: 100%;
	height: auto;
	border: 1px solid #d5dde4;
	background: #fff;
}

.outils,
.colophon,
.pied,
.session {
	color: #5e6a75;
	font-size: 0.9rem;
}

.outils {
	margin: 0.4rem 0 1rem;
}

.pied {
	max-width: 72rem;
	margin: 0 auto;
	padding: 0.8rem 1.5rem 1.4rem;
	border-top: 1px solid #e3e8ee;
}

.pied a {
	color: #0d4f8b;
}

.pagination {
	margin: 1.2rem 0;
}

.pagination a,
.pagination span {
	margin-right: 0.6rem;
}

.hors-champ,
.passer,
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.passer:focus,
.hors-champ:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 0.6rem;
	clip: auto;
	background: #fff;
	color: #16324f;
}

::selection {
	background: #16324f;
	color: #fff;
}

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: 2px solid #0d4f8b;
	outline-offset: 1px;
}

@media (max-width: 800px) {
	.bandeau {
		flex-wrap: wrap;
	}

	.bandeau .recherche {
		width: 100%;
		margin-left: 0;
	}

	.bandeau .recherche input[type="search"] {
		flex: 1;
		width: auto;
		max-width: none;
	}

	form.filtres,
	.meta {
		grid-template-columns: 1fr;
	}

	.infobox {
		float: none;
		width: auto;
		margin: 0 0 1rem;
	}
}

@media print {
	.passer,
	.recherche,
	.outils,
	.session,
	.navigation,
	.chiffres,
	.pied {
		display: none !important;
	}

	.entete {
		background: #fff;
		color: #000;
	}

	.nom-site a {
		color: #000;
	}

	.page {
		max-width: none;
		padding: 0;
	}

	a {
		text-decoration: none;
	}

	.infobox {
		float: none;
		width: auto;
		margin: 0 0 1rem;
	}

	#corpus-agrandi {
		display: none !important;
	}
}

@page {
	margin: 1.6cm;
}
