/* =========================================================================
   Arborisgen — direction « Chronique »
   Couche de style posée par-dessus les styles globaux de theme.json.
   ========================================================================= */

/* ---------- fond papier ---------- */
body {
	background-color: var(--wp--preset--color--paper);
	background-image:
		radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 40%),
		radial-gradient(circle at 82% 78%, rgba(160, 140, 110, .1) 0%, rgba(160, 140, 110, 0) 45%);
	background-attachment: fixed;
}

::selection { background: var(--wp--preset--color--brick); color: #fff; }

/* ---------- libellés en petites capitales ---------- */
.ag-sc {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .6875rem !important;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sepia);
	margin: 0;
}

/* ---------- bandeau utilitaire ---------- */
.ag-strip {
	background: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--sans);
	font-size: .71875rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #c6b79f;
}
.ag-strip p { margin: 0; }
.ag-strip a { color: #c6b79f; }
.ag-strip a:hover { color: #fff; }

/* ---------- en-tête ---------- */
.ag-logo img { height: 74px; width: auto; mix-blend-mode: multiply; }
.ag-est {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .65625rem !important;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sepia);
	text-align: right;
	line-height: 2;
	margin: 0;
}
.ag-nav {
	border-top: 1px solid rgba(122, 103, 82, .4);
	border-bottom: 1px solid rgba(122, 103, 82, .4);
}
.ag-nav .wp-block-navigation__container { gap: 2.05rem; }
.ag-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--ink); }
.ag-nav .wp-block-navigation-item__content:hover,
.ag-nav .current-menu-item .wp-block-navigation-item__content { color: var(--wp--preset--color--brick); }
/* menu déroulant mobile */
.ag-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--paper-3);
	padding-top: 4.5rem;
}
.ag-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1rem; }

/* ---------- héros ---------- */
.ag-hero h1 em,
.ag-hero .ag-em { font-style: italic; color: var(--wp--preset--color--brick); }
.ag-hero-lead {
	font-size: 1.34375rem !important;
	color: var(--wp--preset--color--sepia);
	max-width: 44ch;
}

/* les cadres décoratifs incluent bordure et marge intérieure dans leur largeur */
.ag-plate, .ag-shot, .ag-bk { box-sizing: border-box; }

/* planche photographique inclinée */
.ag-plate {
	background: var(--wp--preset--color--paper-3);
	border: 1px solid rgba(122, 103, 82, .45);
	box-shadow: 0 22px 46px rgba(60, 45, 30, .2);
	transform: rotate(-1.1deg);
	padding: 18px 18px 0;
	margin: 0;
}
.ag-plate img { filter: sepia(.16) contrast(1.03); width: 100%; }
/* en pleine largeur, on cadre l'image plutôt que de la laisser occuper toute la hauteur */
.ag-plate.alignwide img { max-height: 620px; object-fit: cover; object-position: 50% 45%; }
.ag-plate figcaption {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.03rem;
	color: var(--wp--preset--color--sepia);
	text-align: center;
	padding: 14px 8px 18px;
	margin: 0;
}

/* ---------- ornement (arc de points, repris du logo) ---------- */
.ag-orn { display: flex; justify-content: center; margin-bottom: .35rem; }
.ag-orn svg { width: 170px; height: 26px; }
.ag-orn circle { fill: var(--wp--preset--color--blue); }

/* ---------- en-tête de section centré ---------- */
.ag-chead { text-align: center; }
.ag-chead p:not(.ag-sc) { color: var(--wp--preset--color--sepia); }

/* ---------- chapitres ---------- */
.ag-chapters { border-top: 1px solid var(--wp--preset--color--sepia); }
.ag-chapters .ag-ch {
	border-bottom: 1px solid rgba(122, 103, 82, .38);
	padding: 2.375rem 2.75rem;
}
.ag-chapters .wp-block-column:first-child .ag-ch { padding-left: 0; }
.ag-chapters .wp-block-column:last-child .ag-ch {
	border-left: 1px solid rgba(122, 103, 82, .38);
}
.ag-rn {
	font-family: var(--wp--preset--font-family--serif) !important;
	font-size: .9375rem !important;
	letter-spacing: .3em;
	color: var(--wp--preset--color--brick);
	margin: 0 0 .5rem;
}
.ag-ch p:not(.ag-rn):not(.ag-go) { color: var(--wp--preset--color--sepia); font-size: 1.15rem; }

/* lien « en savoir plus » souligné de brique */
.ag-go a,
a.ag-go {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .71875rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
	border-bottom: 1px solid var(--wp--preset--color--brick);
	padding-bottom: 3px;
}
.ag-go a:hover, a.ag-go:hover { color: var(--wp--preset--color--brick); }
.ag-go { margin: 1rem 0 0; }

/* ---------- section « paléographie » ---------- */
.ag-feat { position: relative; overflow: hidden; }
.ag-feat-wm {
	position: absolute;
	left: -180px;
	bottom: -120px;
	width: 720px;
	opacity: .16;
	mix-blend-mode: multiply;
	pointer-events: none;
	z-index: 0;
}
/* le contenu passe au-dessus du filigrane, qui reste hors du flux */
.ag-feat > .wp-block-columns { position: relative; z-index: 1; }
.ag-shot {
	border: 1px solid rgba(122, 103, 82, .5);
	background: var(--wp--preset--color--paper-3);
	box-shadow: 0 20px 44px rgba(60, 45, 30, .18);
	padding: 14px;
	margin: 0;
}
.ag-shot img { width: 100%; }

/* lettrine (fonctionnalité native de WordPress) */
.has-drop-cap:not(:focus)::first-letter {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 4.75rem;
	line-height: .82;
	font-weight: 600;
	color: var(--wp--preset--color--brick);
	margin: .06em .14em 0 0;
	float: left;
}

/* liste pointée à puces brique */
.ag-dots ul, ul.ag-dots { list-style: none; padding-left: 0; margin: 1.6rem 0 2rem; }
.ag-dots li {
	position: relative;
	padding: .625rem 0 .625rem 1.5rem;
	font-size: 1.15rem;
	border-bottom: 1px dotted rgba(122, 103, 82, .5);
}
.ag-dots li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1.25rem;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--brick);
}

/* ---------- citation ---------- */
.ag-quote { text-align: center; }
.ag-quote blockquote,
.ag-quote .wp-block-quote {
	margin: 0;
	border: 0;
	padding: 0;
	font-style: italic;
	font-size: clamp(1.6rem, 3.2vw, 2.375rem);
	line-height: 1.4;
	color: var(--wp--preset--color--paper-3);
}
.ag-quote cite {
	display: block;
	margin-top: 1.75rem;
	font-family: var(--wp--preset--font-family--sans);
	font-style: normal;
	font-size: .6875rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #a8977e;
}

/* ---------- planches (expo / publications) ---------- */
.ag-bk {
	background: var(--wp--preset--color--paper-3);
	border: 1px solid rgba(122, 103, 82, .45);
	box-shadow: 0 16px 36px rgba(60, 45, 30, .13);
	height: 100%;
	transition: box-shadow .25s ease, transform .25s ease;
}
.ag-bk:hover { box-shadow: 0 24px 50px rgba(60, 45, 30, .2); transform: translateY(-3px); }
.ag-bk .ag-bk-im { margin: 0; border-bottom: 1px solid rgba(122, 103, 82, .4); }
.ag-bk .ag-bk-im img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
	filter: sepia(.12);
}
.ag-bk .ag-bk-tx { padding: 1.75rem 2rem 2rem; }
.ag-bk .ag-bk-tx p:not(.ag-sc):not(.ag-go) { color: var(--wp--preset--color--sepia); font-size: 1.125rem; }

/* ---------- pied de page ---------- */
.ag-footer { color: #b6a68d; font-size: 1.0625rem; }
.ag-footer h2, .ag-footer h3, .ag-footer h4 { color: var(--wp--preset--color--paper-3); }
.ag-footer .ag-fh {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: .65625rem !important;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--paper-3);
	margin: 0 0 1.1rem;
}
.ag-footer a { color: #b6a68d; }
.ag-footer a:hover { color: #fff; }
.ag-footer ul { list-style: none; padding-left: 0; margin: 0; }
.ag-footer li { margin-bottom: .55rem; }
.ag-footer-lg img {
	height: 56px;
	width: auto;
	background: var(--wp--preset--color--paper-3);
	padding: 11px 15px;
}
.ag-footer-bot {
	border-top: 1px solid rgba(255, 255, 255, .13);
	font-family: var(--wp--preset--font-family--sans);
	font-size: .71875rem;
	letter-spacing: .06em;
	color: #8b7c66;
}
.ag-footer-bot p { margin: 0; }

/* ---------- bandeau de page intérieure ---------- */
.ag-pagehead { text-align: center; }
.ag-pagehead .wp-block-post-title { margin: .6rem 0 0; }
.ag-pagehead .wp-block-post-excerpt__excerpt {
	color: var(--wp--preset--color--sepia);
	font-size: 1.28rem;
	max-width: 54ch;
	margin: 1rem auto 0;
}
.ag-pagehead-plate .wp-block-post-title { color: var(--wp--preset--color--paper-3); }
.ag-pagehead-plate .wp-block-post-excerpt__excerpt { color: #c6b79f; }

/* filet double décoratif */
.ag-rule2 {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--sepia);
	border-bottom: 1px solid var(--wp--preset--color--sepia);
	height: 4px;
	opacity: .45;
	width: 120px;
	margin-left: auto;
	margin-right: auto;
	background: none;
}

/* ---------- contenu éditorial des pages ---------- */
.ag-prose > p,
.ag-prose > ul,
.ag-prose > ol { font-size: 1.28rem; }
.ag-prose h2 { margin-top: 2.75rem; }
.ag-prose h3 { margin-top: 2rem; }

/* =========================================================================
   Contenu repris de l'ancien site
   Ces pages ont été importées en HTML déjà rendu ; on harmonise leur mise en
   forme (images, galeries, media-text) avec la direction « Chronique ».
   ========================================================================= */

/* images : cadre papier discret, jamais plus large que la colonne */
.ag-prose img { max-width: 100%; height: auto; }
.ag-prose figure { margin-left: 0; margin-right: 0; }
.ag-prose .wp-block-image img,
.ag-prose .wp-block-gallery img,
.ag-prose .wp-block-media-text__media img {
	background: var(--wp--preset--color--paper-3);
	border: 1px solid rgba(122, 103, 82, .35);
	padding: 6px;
	box-sizing: border-box;
}
.ag-prose figcaption,
.ag-prose .wp-element-caption {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1rem;
	color: var(--wp--preset--color--sepia);
	text-align: center;
	margin-top: .6rem;
}

/* Galeries : grille régulière, vignettes recadrées à hauteur égale.
 *
 * Les « !important » ci-dessous sont nécessaires et non de la facilité :
 * WordPress injecte la feuille du bloc Galerie APRÈS celle du thème, avec des
 * sélecteurs plus spécifiques que les nôtres, par exemple
 *   .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item
 * (quatre classes) qui impose « width: calc(33.33% - 1em) » à chaque vignette.
 * Cette largeur en pourcentage se recalculerait sur la colonne de notre grille
 * et réduirait les images à quelques dizaines de pixels.
 */
.ag-prose .wp-block-gallery { margin: 2.5rem 0; }
.ag-prose .wp-block-gallery .blocks-gallery-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.ag-prose .wp-block-gallery.columns-1 .blocks-gallery-grid { grid-template-columns: 1fr; }
.ag-prose .wp-block-gallery.columns-2 .blocks-gallery-grid { grid-template-columns: repeat(2, 1fr); }
.ag-prose .wp-block-gallery.columns-4 .blocks-gallery-grid { grid-template-columns: repeat(4, 1fr); }
.ag-prose .wp-block-gallery .blocks-gallery-item {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
.ag-prose .wp-block-gallery .blocks-gallery-item figure { height: 100%; margin: 0; }
.ag-prose .wp-block-gallery .blocks-gallery-item img {
	display: block;
	width: 100% !important;
	height: 240px !important;
	object-fit: cover;
}

/* media-text : deux colonnes, empilées sur petit écran.
   On ramène les blocs « pleine largeur » à la largeur du texte, sinon l'image
   déborde à gauche de la colonne de lecture et la page paraît désalignée. */
.ag-prose .wp-block-media-text.alignwide,
.ag-prose .wp-block-gallery.alignwide {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.ag-prose .wp-block-media-text {
	display: grid;
	grid-template-columns: 33% auto;
	gap: 2.5rem;
	align-items: center;
	margin: 2.5rem 0;
}
.ag-prose .wp-block-media-text__media { margin: 0; }
.ag-prose .wp-block-media-text__content { padding: 0; }
.ag-prose .wp-block-media-text.has-media-on-the-right { grid-template-columns: auto 33%; }
.ag-prose .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }

/* les liens de navigation interne aux expositions ressortent comme des renvois */
.ag-prose .wp-block-media-text__content p { margin: .45rem 0; }

/* Lien « page suivante » des expositions.
   Remplace les flèches en image clipart de l'ancien site. */
.ag-prose .ag-next {
	display: flex;
	justify-content: flex-end;
	margin-top: 3.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(122, 103, 82, .35);
}
.ag-prose .ag-next a {
	display: inline-flex;
	align-items: center;
	gap: .85rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}
.ag-prose .ag-next a:hover { color: var(--wp--preset--color--brick); }
.ag-prose .ag-next-arrow {
	display: inline-grid;
	place-items: center;
	width: 2.3rem;
	height: 2.3rem;
	flex: 0 0 auto;
	border: 1px solid var(--wp--preset--color--brick);
	border-radius: 50%;
	color: var(--wp--preset--color--brick);
	font-size: 1rem;
	line-height: 1;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.ag-prose .ag-next a:hover .ag-next-arrow {
	background: var(--wp--preset--color--brick);
	color: #fff;
	transform: translateX(3px);
}

/* Étiquette de rattachement à une exposition.
   Remplace les bandeaux-titres en image (fond dégradé bordeaux) de l'ancien
   site : la page affiche déjà son propre titre via le gabarit à bandeau encre,
   ce bandeau-ci ne servait qu'à rappeler l'exposition d'appartenance. */
.ag-prose .ag-expo-tag { margin: 0 0 2.25rem; }
.ag-prose .ag-expo-tag a {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brick);
	padding: .55rem 1.1rem;
	border: 1px solid rgba(156, 74, 60, .4);
	border-radius: 999px;
	background: var(--wp--preset--color--paper-3);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.ag-prose .ag-expo-tag a::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}
.ag-prose .ag-expo-tag a:hover {
	background: var(--wp--preset--color--brick);
	color: #fff;
	border-color: var(--wp--preset--color--brick);
}

/* Intitulé de document, jusque-là rendu en petite image de texte. */
.ag-prose .ag-doc-title {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.45;
	color: var(--wp--preset--color--ink);
	max-width: 46ch;
	margin: 2rem auto 2.5rem;
}

/* Livre d'or : messages présentés en témoignages.
   Remplace le formulaire brut d'une extension de guestbook non installée sur
   le nouveau site (champs sans mise en forme, pièges à robots visibles). */
.ag-prose .ag-guestbook {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 1.75rem;
	margin: 2.75rem 0;
}
.ag-prose .ag-testimonial {
	background: var(--wp--preset--color--paper-3);
	border: 1px solid rgba(122, 103, 82, .35);
	border-radius: 2px;
	padding: 2rem 2.25rem;
	margin: 0;
	position: relative;
}
.ag-prose .ag-testimonial::before {
	content: '“';
	position: absolute;
	top: .4rem;
	left: 1.5rem;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 3.5rem;
	line-height: 1;
	color: var(--wp--preset--color--brick);
	opacity: .35;
}
.ag-prose .ag-testimonial blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}
.ag-prose .ag-testimonial blockquote p {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.2rem;
	line-height: 1.55;
	color: var(--wp--preset--color--ink);
	position: relative;
	z-index: 1;
}
.ag-prose .ag-testimonial cite {
	display: block;
	margin-top: 1rem;
	font-family: var(--wp--preset--font-family--sans);
	font-style: normal;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sepia);
}

/* vignettes de renvoi de l'ancien site : on borne leur taille */
.ag-prose .size-thumbnail img { max-width: 150px; }

/* espaceurs de l'ancien site : on borne leur hauteur */
.ag-prose .wp-block-spacer { height: 2rem !important; }

/* tableaux éventuels */
.ag-prose table { width: 100%; border-collapse: collapse; }
.ag-prose th, .ag-prose td {
	border: 1px solid rgba(122, 103, 82, .35);
	padding: .5rem .7rem;
	text-align: left;
}
.ag-prose th { background: var(--wp--preset--color--paper-2); }

@media (max-width: 782px) {
	.ag-prose .wp-block-media-text,
	.ag-prose .wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr; gap: 1.25rem; }
	.ag-prose .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 0; }
	.ag-prose .wp-block-gallery .blocks-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.ag-prose .wp-block-gallery .blocks-gallery-item img { height: 170px; }
}

/* ---------- formulaire de contact ---------- */
.ag-form { max-width: 640px; margin: 2rem auto 0; }
.ag-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.ag-form .ag-field { margin-bottom: 1.5rem; }
.ag-form label {
	display: block;
	margin-bottom: .45rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sepia);
}
.ag-form input[type="text"],
.ag-form input[type="email"],
.ag-form select,
.ag-form textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.05rem;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--paper-3);
	border: 1px solid rgba(122, 103, 82, .4);
	border-radius: 2px;
	padding: .75rem .9rem;
}
.ag-form textarea { min-height: 170px; resize: vertical; }
.ag-form input:focus,
.ag-form select:focus,
.ag-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--brick);
}
.ag-form button[type="submit"] {
	border: 0;
	cursor: pointer;
}
/* piège à robots : masqué à l'écran mais lisible par les logiciels automatisés,
   contrairement à display:none qu'ils savent parfois repérer et ignorer */
.ag-form .ag-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
@media (max-width: 600px) {
	.ag-form-row { grid-template-columns: 1fr; }
}

/* bandeau de confirmation / d'erreur après envoi du formulaire */
.ag-notice {
	max-width: 640px;
	margin: 0 auto 2rem;
	padding: 1rem 1.25rem;
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .95rem;
}
.ag-notice-ok {
	background: var(--wp--preset--color--paper-3);
	border: 1px solid #5c7a5c;
	color: #3c5c3c;
}
.ag-notice-error {
	background: var(--wp--preset--color--paper-3);
	border: 1px solid var(--wp--preset--color--brick);
	color: var(--wp--preset--color--brick);
}

/* boutons : variante contour */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--ink);
	background: transparent;
	color: var(--wp--preset--color--ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper-3);
}
.ag-on-dark .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: rgba(255, 255, 255, .55);
	color: #fff;
}
.ag-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--paper-3);
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--paper-3);
}

/* ---------- responsive ---------- */
@media (max-width: 900px) {
	.ag-plate { transform: none; }
	.ag-chapters .ag-ch { padding: 1.75rem 0; }
	.ag-chapters .wp-block-column:last-child .ag-ch { border-left: 0; }
	.ag-feat-wm { display: none; }
	.ag-est { display: none; }
	.ag-bk .ag-bk-im img { height: 220px; }
}
@media (max-width: 600px) {
	.ag-strip { font-size: .625rem; }
	.ag-logo img { height: 54px; }
	.ag-hero-lead { font-size: 1.15rem !important; }
}
