/* =========================================================================
   Arborisgen — direction « Clarté »
   Couche de style posée par-dessus les styles globaux de theme.json.
   Variante graphique du thème Arborisgen (direction « Chronique ») et
   d'Arborisgen — Archives : le contenu (pages refondues et pages reprises de
   l'ancien site) est partagé entre les trois thèmes et utilise le même
   vocabulaire de classes .ag-* — c'est cette feuille qui lui donne son
   apparence « Clarté ».
   ========================================================================= */

body { background-color: var(--wp--preset--color--paper); }
::selection { background: var(--wp--preset--color--blue); color: #fff; }

.ag-lead { font-size: 1.19rem; color: var(--wp--preset--color--sepia); }

/* ---------- libellés en petites capitales ---------- */
.ag-sc {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .75rem !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--blue);
	margin: 0;
}
.ag-sc-light { color: var(--wp--preset--color--blue-l); }

/* ---------- boutons génériques utilisés hors blocs WordPress (héros, cartes) ---------- */
.ag-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .97rem;
	font-weight: 600;
	padding: .95rem 1.6rem;
	border-radius: 10px;
	border: 0;
	cursor: pointer;
	text-decoration: none;
}
.ag-btn-b { background: var(--wp--preset--color--blue); color: #fff; }
.ag-btn-b:hover { background: var(--wp--preset--color--navy); color: #fff; }

/* ---------- en-tête ---------- */
.ag-header { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(12px); background: rgba(255,255,255,.92); }
.ag-logo img { height: 48px; width: auto; }
.ag-nav .wp-block-navigation__container { gap: 1.875rem; }
.ag-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--navy);
	font-weight: 500;
	padding-bottom: 4px;
	border-bottom: 2.5px solid transparent;
}
.ag-nav .wp-block-navigation-item__content:hover,
.ag-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--blue);
	border-color: var(--wp--preset--color--blue);
}
.ag-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff;
	padding-top: 4.5rem;
}
.ag-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.05rem; }

/* ---------- héros + recherche ---------- */
.ag-hero {
	padding: 4.5rem clamp(1.25rem, 4vw, 2.6rem) 5.5rem;
	background: radial-gradient(1000px 460px at 88% -8%, var(--wp--preset--color--blue-l) 0%, rgba(234,244,251,0) 68%);
}
.ag-hero-grid {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	gap: 4rem;
	align-items: center;
}
.ag-search {
	margin-top: 2rem;
	background: #fff;
	border: 1px solid var(--wp--preset--color--grey-2);
	border-radius: 16px;
	box-shadow: 0 18px 44px rgba(15,43,68,.1);
	padding: 1.5rem 1.5rem 1.375rem;
}
.ag-search-lab {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	margin-bottom: .875rem;
}
.ag-search-row { display: grid; grid-template-columns: 1.15fr 1fr .9fr; gap: .75rem; }
.ag-search-f span { display: block; font-size: .78rem; color: var(--wp--preset--color--sepia); margin-bottom: .375rem; font-weight: 500; }
.ag-search input, .ag-search select {
	width: 100%;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .97rem;
	color: var(--wp--preset--color--navy);
	padding: .75rem .8rem;
	border: 1.5px solid var(--wp--preset--color--grey-2);
	border-radius: 9px;
	background: var(--wp--preset--color--grey);
	box-sizing: border-box;
	appearance: none;
}
.ag-search-go { margin-top: 1rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ag-search-hint { font-size: .84rem; color: var(--wp--preset--color--sepia); }
.ag-search-hint a { font-weight: 600; }

.ag-hero-img { position: relative; }
.ag-hero-frame { border-radius: 20px; overflow: hidden; box-shadow: 0 26px 60px rgba(15,43,68,.2); height: 460px; }
.ag-hero-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; }
.ag-hero-cap {
	position: absolute; left: 1.375rem; bottom: 1.375rem;
	background: rgba(15,43,68,.86); color: #fff; font-size: .75rem;
	letter-spacing: .02em; padding: .5rem .875rem; border-radius: 8px;
}
.ag-hero-chip {
	position: absolute; right: -1rem; top: 2.125rem; background: #fff;
	border: 1px solid var(--wp--preset--color--grey-2); border-radius: 14px;
	box-shadow: 0 14px 34px rgba(15,43,68,.14); padding: 1rem 1.25rem; text-align: center;
}
.ag-hero-chip b { display: block; font-family: var(--wp--preset--font-family--serif); font-size: 1.8rem; color: var(--wp--preset--color--blue); line-height: 1; }
.ag-hero-chip span { display: block; font-size: .72rem; color: var(--wp--preset--color--sepia); margin-top: .25rem; letter-spacing: .03em; }

@media (max-width: 900px) {
	.ag-hero-grid { grid-template-columns: 1fr; }
	.ag-hero-frame { height: 320px; }
}
@media (max-width: 600px) {
	.ag-search-row { grid-template-columns: 1fr; }
}

/* ---------- cartes de services ---------- */
.ag-shead { text-align: center; margin: 0 auto 3.625rem; }
.ag-cards { gap: 1.375rem !important; }
.ag-card {
	height: 100%;
	background: #fff;
	border: 1px solid var(--wp--preset--color--grey-2);
	border-radius: 16px;
	padding: 1.875rem 1.625rem 1.625rem;
	transition: box-shadow .25s ease, transform .25s ease;
	box-sizing: border-box;
}
.ag-card:hover { box-shadow: 0 18px 40px rgba(15,43,68,.12); transform: translateY(-3px); }
.ag-card-ic {
	width: 50px; height: 50px; border-radius: 12px;
	background: var(--wp--preset--color--blue-l);
	display: grid; place-items: center; margin-bottom: 1.25rem;
}
.ag-card-ic svg { width: 26px; height: 26px; stroke: var(--wp--preset--color--blue-d); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ag-card h3 { margin: 0 0 .5625rem; font-size: 1.3125rem; }
.ag-card p { font-size: .97rem; color: var(--wp--preset--color--sepia); margin: 0; }
.ag-card-go, .ag-go {
	display: inline-block;
	margin-top: 1rem;
	font-family: var(--wp--preset--font-family--sans);
	font-size: .9rem;
	font-weight: 600;
	color: var(--wp--preset--color--blue);
	text-decoration: none;
}
.ag-go a { color: var(--wp--preset--color--blue); }
.ag-card-go:hover, .ag-go a:hover, .ag-go:hover { color: var(--wp--preset--color--navy); }

/* ---------- bande de chiffres ---------- */
.ag-band { text-align: center; }
.ag-band-num { font-family: var(--wp--preset--font-family--serif); font-size: 2.75rem; color: var(--wp--preset--color--navy); line-height: 1; margin: 0; }
.ag-band-lab { display: block; font-size: .875rem; color: var(--wp--preset--color--sepia); margin-top: .5rem; }

/* ---------- paléographie ---------- */
.ag-shot { border-radius: 16px; overflow: hidden; border: 1px solid var(--wp--preset--color--grey-2); box-shadow: 0 20px 48px rgba(15,43,68,.14); margin: 0; }
.ag-shot img { display: block; }
.ag-steps { list-style: none; margin: 1.75rem 0 2rem; padding: 0; counter-reset: ag-step; }
.ag-steps li { counter-increment: ag-step; position: relative; padding: 0 0 1.25rem 3.25rem; font-size: 1.03rem; }
.ag-steps li::before {
	content: counter(ag-step);
	position: absolute; left: 0; top: -.125rem;
	width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--wp--preset--color--blue-l); color: var(--wp--preset--color--blue-d);
	font-family: var(--wp--preset--font-family--sans); font-size: .875rem; font-weight: 700;
	display: grid; place-items: center;
}
.ag-steps li b { display: block; color: var(--wp--preset--color--navy); font-weight: 600; }
.ag-steps li span { color: var(--wp--preset--color--sepia); font-size: .97rem; }

/* ---------- expositions & publications (accueil) ---------- */
.ag-hl { gap: 1.625rem !important; }
.ag-hl-card {
	display: block; border: 1px solid var(--wp--preset--color--grey-2); border-radius: 16px;
	overflow: hidden; background: #fff; text-decoration: none;
	transition: box-shadow .25s ease, transform .25s ease;
}
.ag-hl-card:hover { box-shadow: 0 20px 44px rgba(15,43,68,.13); transform: translateY(-3px); }
.ag-hl-im { display: block; height: 230px; overflow: hidden; }
.ag-hl-im img { width: 100%; height: 100%; object-fit: cover; }
.ag-hl-tx { display: block; padding: 1.625rem 1.75rem 1.875rem; }
.ag-hl-tx h3 { margin: .625rem 0; font-size: 1.5rem; }
.ag-hl-tx p { font-size: .97rem; color: var(--wp--preset--color--sepia); margin: 0; }

/* ---------- CTA adhésion ---------- */
.ag-cta h2 { color: #fff; }

/* ---------- bandeaux de page ---------- */
.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.1rem; max-width: 54ch; margin: 1rem auto 0; }
.ag-pagehead-plate .wp-block-post-title { color: #fff; }
.ag-pagehead-plate .wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--blue-l); }

/* ---------- pied de page ---------- */
.ag-footer { color: #A8BBCA; font-size: .97rem; }
.ag-footer h2, .ag-footer h3, .ag-footer h4 { color: #fff; }
.ag-fh {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: .75rem !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 1.125rem;
}
.ag-footer a { color: #A8BBCA; }
.ag-footer a:hover { color: #fff; }
.ag-footer ul { list-style: none; padding-left: 0; margin: 0; }
.ag-footer li { margin-bottom: .625rem; }
.ag-footer-lg img { height: 44px; width: auto; background: #fff; border-radius: 10px; padding: .625rem .875rem; }
.ag-footer-bot { border-top: 1px solid rgba(255,255,255,.12); font-size: .84rem; color: #879BAC; }
.ag-footer-bot p { margin: 0; }

/* =========================================================================
   Contenu partagé (pages refondues + pages reprises de l'ancien site)
   ========================================================================= */

.ag-plate, .ag-shot, .ag-bk { box-sizing: border-box; }
.ag-plate {
	background: #fff;
	border: 1px solid var(--wp--preset--color--grey-2);
	border-radius: 16px;
	box-shadow: 0 20px 44px rgba(15,43,68,.12);
	padding: 14px 14px 0;
	margin: 0;
	overflow: hidden;
}
.ag-plate img { width: 100%; border-radius: 10px 10px 0 0; }
.ag-plate figcaption {
	font-family: var(--wp--preset--font-family--sans);
	font-size: .9rem;
	color: var(--wp--preset--color--sepia);
	text-align: center;
	padding: 12px 8px 16px;
	margin: 0;
}
.ag-plate.alignwide img { max-height: 620px; object-fit: cover; object-position: 50% 45%; border-radius: 16px 16px 0 0; }

.ag-rule2 {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--grey-2);
	border-bottom: 1px solid var(--wp--preset--color--grey-2);
	height: 4px;
	width: 120px;
	margin-left: auto;
	margin-right: auto;
	background: none;
}

.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.02rem; border-bottom: 1px dotted var(--wp--preset--color--grey-2); }
.ag-dots li::before {
	content: ''; position: absolute; left: 0; top: 1.15rem;
	width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--blue);
}

.ag-bk {
	background: #fff;
	border: 1px solid var(--wp--preset--color--grey-2);
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
	transition: box-shadow .2s ease, transform .2s ease;
}
.ag-bk:hover { box-shadow: 0 16px 32px rgba(15,43,68,.1); transform: translateY(-3px); }
.ag-bk .ag-bk-im { margin: 0; }
.ag-bk .ag-bk-im img { display: block; width: 100%; height: 230px; object-fit: cover; }
.ag-bk .ag-bk-tx { padding: 1.625rem 1.75rem 1.875rem; }
.ag-bk .ag-bk-tx p:not(.ag-sc):not(.ag-go) { color: var(--wp--preset--color--sepia); font-size: .97rem; }

.ag-prose .ag-next {
	display: flex; justify-content: flex-end; margin-top: 3.25rem;
	padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--grey-2);
}
.ag-prose .ag-next a {
	display: inline-flex; align-items: center; gap: .85rem;
	font-family: var(--wp--preset--font-family--sans); font-size: .8rem; font-weight: 600;
	color: var(--wp--preset--color--navy);
}
.ag-prose .ag-next a:hover { color: var(--wp--preset--color--blue); }
.ag-prose .ag-next-arrow {
	display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; flex: 0 0 auto;
	border: none; border-radius: 50%; background: var(--wp--preset--color--blue-l);
	color: var(--wp--preset--color--blue-d); 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--blue); color: #fff; transform: translateX(3px); }

.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: .78rem; font-weight: 700;
	color: var(--wp--preset--color--blue-d);
	padding: .5rem 1rem; border-radius: 999px; background: var(--wp--preset--color--blue-l);
	transition: background-color .2s ease, color .2s ease;
}
.ag-prose .ag-expo-tag a::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ag-prose .ag-expo-tag a:hover { background: var(--wp--preset--color--blue); color: #fff; }

.ag-prose .ag-doc-title {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic; text-align: center; font-size: 1.35rem; line-height: 1.4;
	color: var(--wp--preset--color--navy); max-width: 46ch; margin: 2rem auto 2.5rem;
}

.ag-prose .ag-guestbook { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.625rem; margin: 2.75rem 0; }
.ag-prose .ag-testimonial {
	background: #fff; border: 1px solid var(--wp--preset--color--grey-2); border-radius: 16px;
	padding: 1.875rem 2.125rem; margin: 0; position: relative;
}
.ag-prose .ag-testimonial::before {
	content: '“'; position: absolute; top: .25rem; left: 1.375rem;
	font-family: var(--wp--preset--font-family--serif); font-size: 3.25rem; line-height: 1;
	color: var(--wp--preset--color--blue); 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.15rem;
	line-height: 1.5; color: var(--wp--preset--color--navy); 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: .8rem; font-weight: 600; color: var(--wp--preset--color--sepia);
}

.ag-prose .size-thumbnail img { max-width: 150px; }
.ag-prose .wp-block-spacer { height: 2rem !important; }
.ag-prose table { width: 100%; border-collapse: collapse; }
.ag-prose th, .ag-prose td { border: 1px solid var(--wp--preset--color--grey-2); padding: .5rem .7rem; text-align: left; }
.ag-prose th { background: var(--wp--preset--color--grey); }

.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: #fff; border: 1px solid var(--wp--preset--color--grey-2); border-radius: 10px;
	padding: 6px; box-sizing: border-box;
}
.ag-prose figcaption, .ag-prose .wp-element-caption {
	font-family: var(--wp--preset--font-family--sans); font-size: .87rem;
	color: var(--wp--preset--color--sepia); text-align: center; margin-top: .6rem;
}

.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; border-radius: 10px; }

.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; }
.ag-prose .wp-block-media-text__content p { margin: .45rem 0; }

.has-drop-cap:not(:focus)::first-letter {
	font-family: var(--wp--preset--font-family--serif); font-size: 4.25rem; line-height: .82; font-weight: 700;
	color: var(--wp--preset--color--blue); margin: .06em .14em 0 0; float: left;
}

@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; }
	.ag-bk .ag-bk-im img { height: 200px; }
}

/* ---------- 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: .78rem; font-weight: 600;
	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--sans); font-size: 1rem; color: var(--wp--preset--color--navy);
	background: var(--wp--preset--color--grey);
	border: 1.5px solid var(--wp--preset--color--grey-2); border-radius: 9px; 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--blue); background: #fff; }
.ag-form button[type="submit"] { border: 0; cursor: pointer; }
.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; } }

.ag-notice {
	max-width: 640px; margin: 0 auto 2rem; padding: 1rem 1.25rem; border-radius: 10px;
	font-family: var(--wp--preset--font-family--sans); font-size: .95rem;
}
.ag-notice-ok { background: var(--wp--preset--color--blue-l); border: 1px solid #5c7a5c; color: #3c5c3c; }
.ag-notice-error { background: #fdf0ee; 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: 1.5px solid var(--wp--preset--color--grey-2);
	background: transparent;
	color: var(--wp--preset--color--navy);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy);
	color: #fff;
	border-color: var(--wp--preset--color--navy);
}
.ag-cta .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: rgba(255,255,255,.45);
	color: #fff;
}
.ag-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: #fff;
	color: var(--wp--preset--color--navy);
	border-color: #fff;
}

@media (max-width: 600px) {
	.ag-logo img { height: 40px; }
}
