/*
Theme Name:   Collégiale
Description:  Thème enfant de Twenty Twenty-Five pour La Collégiale de Santé Publique (direction « Signalétique », voir docs/DESIGN.md).
Template:     twentytwentyfive
Version:      0.2.0
Requires at least: 6.7
Requires PHP: 8.3
Author:       La Collégiale de Santé Publique
License:      GPL-2.0-or-later
Text Domain:  collegiale
*/

/*
 * Les couleurs, la police, les tailles et les espacements sont dans theme.json.
 * Ce fichier ne contient que ce que theme.json ne sait pas exprimer.
 * Couleurs : var(--wp--preset--color--<nom>), noms définis dans theme.json.
 */

:root {
	--collegiale-duo: #5e93ab;
	--collegiale-ease: cubic-bezier(.16, 1, .3, 1);
}

body { font-variant-numeric: tabular-nums; }
::selection { background: #c9dce5; color: var(--wp--preset--color--petrole-sombre); }
a { text-decoration-thickness: 1px; text-underline-offset: .2em; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--corail);
	outline-offset: 3px;
	border-radius: 4px;
}
/* Sur les fonds pétrole et sombre, le corail ne contraste pas assez (2,1:1) : anneau blanc. */
:where(.has-petrole-background-color, .has-petrole-sombre-background-color, .collegiale-panneau) :where(a, button, input, select, textarea, summary):focus-visible,
a.collegiale-panneau:focus-visible {
	outline-color: #fff;
}
.collegiale-insecable { white-space: nowrap; }
/* Les bandes pleine largeur se touchent : pas d'espace entre en-tête, contenu et pied de page. */
.wp-site-blocks > * { margin-block-start: 0; }
/* Pied de page en bas de l'écran, même sur une page courte : le contenu s'étire pour remplir la hauteur
   (moins la barre d'administration quand on est connecté). Sans effet sur les pages longues. */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
}
.wp-site-blocks > main { flex-grow: 1; }
.wp-block-post-content > .alignfull { margin-block-start: 0; }

/* ---------- En-tête ---------- */
.collegiale-entete .alignwide { gap: 12px 32px; flex-wrap: wrap !important; }
.collegiale-logo { display: block; line-height: 0; }
.collegiale-logo img { display: block; width: 176px; height: auto; }
/* Menu : un trait corail clair se dessine de gauche à droite au survol ; la page en cours
   (et sa rubrique) est soulignée en corail, un peu plus épais. */
.collegiale-menu a { position: relative; text-decoration: none; padding: 6px 0; }
.collegiale-menu a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--corail-clair);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--collegiale-ease);
}
.collegiale-menu a:hover::after { transform: scaleX(1); }
.collegiale-menu .current-menu-item > a::after,
.collegiale-menu a[aria-current="page"]::after { transform: scaleX(1); height: 3px; background: var(--wp--preset--color--corail); }
.collegiale-menu .wp-block-navigation__responsive-container.is-menu-open a::after { bottom: -2px; }
.collegiale-menu .wp-block-navigation__responsive-container-open,
.collegiale-menu .wp-block-navigation__responsive-container-close {
	color: #fff;
}
.collegiale-menu .wp-block-navigation__responsive-container-open {
	border: 2px solid rgba(255, 255, 255, .75);
	border-radius: 8px;
	padding: 6px 12px;
	font-weight: 700;
}
.collegiale-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 24px;
	font-weight: 800;
}

/* ---------- Pied de page ---------- */
.collegiale-pied .alignwide { gap: 20px 32px; }
.collegiale-pied__liens { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; }
.collegiale-pied__liens a { color: #fff; font-weight: 600; }

/* ---------- Bandeau de titre (pages intérieures) ---------- */
.collegiale-titre h1 { margin: 0; max-width: 24ch; text-wrap: balance; }
.collegiale-titre a { color: #fff; }
.collegiale-titre .wp-block-post-date,
.collegiale-titre .wp-block-post-terms,
.collegiale-titre .collegiale-infos-evenement,
.collegiale-titre__intro { color: #e3eef2; }
.collegiale-titre__meta { gap: 6px !important; margin-bottom: 14px; font-size: 15px; font-weight: 700; }
/* Titres d'articles et d'offres souvent longs : un cran plus petits que le titre d'une page. */
.single .collegiale-titre h1 { font-size: clamp(30px, 4vw, 46px); max-width: none; }
.collegiale-titre__meta > * { margin: 0 !important; }
.collegiale-titre__meta > * + *::before { content: "·"; margin-right: 6px; }
.collegiale-titre__retour { font-size: 15px; font-weight: 600; margin-bottom: 14px; }
.collegiale-titre__retour a::before { content: "← "; }
.collegiale-titre .collegiale-infos-evenement { margin-top: 14px; font-size: 18px; font-weight: 600; }
.collegiale-titre__intro { margin-top: 14px; font-size: 18px; }

/* Pas de contour au clic de souris (le thème parent en dessine un, blanc sur fond sombre) ;
   l'anneau de focus reste visible pour la navigation au clavier. */
:where(.wp-site-blocks) :focus:not(:focus-visible) { outline: none; }

/* ---------- Bandeaux pétrole : halos lumineux ----------
   Un calque derrière le contenu : de grands halos (bleu clair, corail clair) qui dérivent
   lentement. Immobiles si l'on a demandé moins de mouvement. */
.collegiale-bandeau,
.collegiale-titre { position: relative; isolation: isolate; overflow: hidden; }
.collegiale-bandeau::before,
.collegiale-titre::before {
	content: "";
	position: absolute;
	inset: -60px;
	z-index: -1;
	pointer-events: none;
}
.collegiale-bandeau::before,
.collegiale-titre::before {
	background:
		radial-gradient(440px 440px at 84% 6%, rgba(255, 138, 115, .2), rgba(255, 138, 115, 0) 70%),
		radial-gradient(560px 560px at 6% 96%, rgba(127, 180, 205, .3), rgba(127, 180, 205, 0) 70%),
		radial-gradient(340px 340px at 52% 58%, rgba(255, 255, 255, .07), rgba(255, 255, 255, 0) 70%);
	animation: collegiale-derive 38s ease-in-out infinite alternate;
}
@keyframes collegiale-derive {
	from { transform: translate3d(-24px, 12px, 0) scale(1); }
	to { transform: translate3d(32px, -20px, 0) scale(1.06); }
}

/* ---------- Accueil : bandeau ---------- */
.collegiale-bandeau__intro {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: 16px 48px;
	align-items: end;
	margin-bottom: 40px;
}
.collegiale-bandeau__intro > * { margin: 0 !important; }
.collegiale-bandeau h1 { margin: 0; text-wrap: balance; }
.collegiale-bandeau__sous {
	margin: 18px 0 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.collegiale-bandeau__texte { font-size: 18px; color: #e3eef2; max-width: 38ch; }

.collegiale-panneaux {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 0 !important;
}
.collegiale-panneaux > * { margin: 0 !important; }

/* Panneau : photo en duotone pétrole, lueur corail, voile sombre sous le texte */
.collegiale-panneau {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: 300px;
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--petrole-sombre);
	color: #fff;
	text-decoration: none;
}
.collegiale-panneau__photo { position: absolute; inset: 0; z-index: -2; background: var(--collegiale-duo); overflow: hidden; }
.collegiale-panneau__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1) contrast(1.1) brightness(1.15);
	mix-blend-mode: multiply;
	transition: transform .8s var(--collegiale-ease);
}
.collegiale-panneau::before,
.collegiale-panneau::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.collegiale-panneau::before {
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(224, 96, 74, .55) 0%, rgba(224, 96, 74, 0) 55%),
		linear-gradient(to top, rgba(18, 59, 80, .5) 0%, rgba(18, 59, 80, 0) 75%);
}
.collegiale-panneau::after {
	opacity: 0;
	transition: opacity .5s var(--collegiale-ease);
	background: radial-gradient(130% 90% at 100% 0%, rgba(224, 96, 74, .35), rgba(224, 96, 74, 0) 60%);
}
.collegiale-panneau--sans-image::before { background: radial-gradient(120% 80% at 100% 0%, rgba(224, 96, 74, .45), rgba(224, 96, 74, 0) 55%); }
.collegiale-panneau__contenu {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 72px 26px 24px;
	/* Le voile est porté par le texte : lisible même si la photo ne charge pas. */
	background: linear-gradient(to top, rgb(18, 59, 80) 0%, rgba(18, 59, 80, .92) 55%, rgba(18, 59, 80, 0) 100%);
}
.collegiale-panneau__titre { display: block; font-size: 28px; font-weight: 800; letter-spacing: -.015em; line-height: 1.1; }
.collegiale-panneau__texte { display: block; margin-top: 6px; font-size: 15px; line-height: 1.45; color: #e1ecf0; }
.collegiale-panneau__fleche {
	flex: none;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--wp--preset--color--corail);
	transition: transform .35s var(--collegiale-ease);
}
.collegiale-panneau__fleche svg { width: 20px; height: 20px; }
a.collegiale-panneau:hover .collegiale-panneau__photo img { transform: scale(1.05); }
a.collegiale-panneau:hover::after { opacity: 1; }
a.collegiale-panneau:hover .collegiale-panneau__fleche { transform: translateX(4px); }
a.collegiale-panneau:focus-visible { outline-offset: 4px; }

/* ---------- Sections de l'accueil ---------- */
.collegiale-section__titre { margin-bottom: 28px !important; gap: 8px 24px; }
.collegiale-section__titre > * { margin: 0 !important; }
.collegiale-section__titre p { font-weight: 700; }

/* Actualités : vignette carrée (T1) */
.collegiale-actualites { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.collegiale-carte {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
	border-top: 6px solid var(--wp--preset--color--petrole);
	padding-top: 20px;
}
.collegiale-carte--agenda { border-top-color: var(--wp--preset--color--corail); }
.collegiale-carte__vignette { display: block; width: 128px; height: 128px; border-radius: 12px; overflow: hidden; background: var(--wp--preset--color--petrole); }
.collegiale-carte__vignette img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--collegiale-ease); }
.collegiale-carte:hover .collegiale-carte__vignette img { transform: scale(1.06); }
.collegiale-carte__vignette--repli { display: grid; place-items: center; }
.collegiale-symbole { width: 56%; height: auto; }
.collegiale-carte__meta { margin: 0; font-size: 15px; font-weight: 700; color: var(--wp--preset--color--petrole); }
.collegiale-carte--agenda .collegiale-carte__meta { color: var(--wp--preset--color--corail-fonce); }
.collegiale-carte__titre { margin: 6px 0 0; font-size: 24px; text-wrap: balance; }
.collegiale-carte__titre a { color: var(--wp--preset--color--petrole-sombre); text-decoration: none; }
.collegiale-carte__titre a:hover { text-decoration: underline; }
.collegiale-carte__extrait { margin: 8px 0 0; font-size: 16px; color: var(--wp--preset--color--gris); }
.collegiale-actualites--repli { display: block; font-size: 18px; }

/* Offres : date de publication en clair au-dessus de l'intitulé */
.collegiale-offres__liste,
.collegiale-offres-liste { list-style: none; margin: 0; padding: 0; }
.collegiale-offres__item,
.collegiale-offre-ligne { padding: 18px 0; border-bottom: 2px solid #fff; }
.collegiale-offres__corps { display: block; }
.collegiale-offres__date,
.collegiale-offre-ligne__date {
	display: block;
	margin: 0 0 4px !important;
	font-size: 15px;
	font-weight: 700;
	color: var(--wp--preset--color--petrole);
}
.collegiale-offre-ligne__date::before { content: "Publiée le "; }
.collegiale-offres__titre { display: block; font-size: 19px; font-weight: 700; line-height: 1.3; color: var(--wp--preset--color--petrole-sombre); text-decoration: none; }
.collegiale-offres__titre:hover { text-decoration: underline; }
.collegiale-offres__details { display: block; margin-top: 3px; font-size: 16px; color: var(--wp--preset--color--gris); }
.collegiale-offres__toutes { margin-top: 20px; font-weight: 700; }
.collegiale-offre-ligne__corps > * { margin: 0 !important; }
.collegiale-offre-ligne__corps .wp-block-post-title { font-size: 19px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.collegiale-offre-ligne__corps .wp-block-post-title a { color: var(--wp--preset--color--petrole-sombre); text-decoration: none; }
.collegiale-offre-ligne__corps .wp-block-post-title a:hover { text-decoration: underline; }

/* Page avec image : contenu dans la moitié gauche, image mise en avant à droite,
   fondue vers le transparent sur son bord gauche (vers le haut sur téléphone). */
.collegiale-page-image {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}
.collegiale-page-image > * { margin: 0 !important; }
.collegiale-page-image__texte > *:first-child { margin-top: 0; }
.collegiale-page-image__texte .collegiale-bureau { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.collegiale-page-image__photo { position: sticky; top: 24px; }
.collegiale-page-image__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0 14px 14px 0;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 38%);
	mask-image: linear-gradient(to right, transparent 0%, #000 38%);
}
/* Légende de la photo (titre, crédit) : alignée à droite, sous la partie nette de l'image. */
.collegiale-page-image__photo figcaption {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.45;
	text-align: right;
	color: var(--wp--preset--color--gris);
}
.collegiale-legende__titre { display: block; font-weight: 600; color: var(--wp--preset--color--contrast); }
.collegiale-page-image__photo figcaption a,
.collegiale-credits a { color: inherit; text-underline-offset: 2px; }

/* Crédits photographiques (mentions légales) */
.collegiale-credits { padding-left: 1.2em; }
.collegiale-credits li + li { margin-top: 6px; }
.collegiale-credits__titre { font-weight: 600; }
.collegiale-page-image:not(:has(.collegiale-page-image__photo)) { grid-template-columns: minmax(0, 1fr); max-width: var(--wp--style--global--content-size); }

/* Détails d'une offre */
.collegiale-infos-offre__liste { display: grid; grid-template-columns: max-content 1fr; gap: 8px 24px; margin: 0 0 24px; }
.collegiale-infos-offre__liste > div { display: contents; }
.collegiale-infos-offre__liste dt { font-weight: 700; color: var(--wp--preset--color--petrole-sombre); }
.collegiale-infos-offre__liste dd { margin: 0; }
.collegiale-infos-offre__origine a { font-weight: 700; }
.collegiale-infos-offre.is-compact { margin-top: 4px; font-size: 16px; color: var(--wp--preset--color--gris); }
.collegiale-infos-offre.is-compact .collegiale-infos-offre__liste { display: block; margin: 0; }
.collegiale-infos-offre.is-compact .collegiale-infos-offre__liste > div,
.collegiale-infos-offre.is-compact dd { display: inline; }
.collegiale-infos-offre.is-compact .collegiale-infos-offre__liste > div + div::before { content: " · "; }
.collegiale-infos-offre.is-compact dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.collegiale-infos-offre.is-compact dd { color: var(--wp--preset--color--gris); }
.collegiale-infos-offre.is-compact .collegiale-infos-offre__origine { display: none; }

/* Missions */
.collegiale-missions { list-style: none; padding: 0; margin: 0; }
.collegiale-missions li { padding: 16px 0; border-top: 2px solid var(--wp--preset--color--brume); }
.collegiale-missions strong { display: block; font-size: 21px; font-weight: 800; color: var(--wp--preset--color--petrole-sombre); }

/* Bureau (page « Le Bureau » et aperçu de l'accueil) */
.collegiale-bureau { gap: 12px !important; }
.collegiale-membre {
	display: grid !important;
	grid-template-columns: 48px minmax(0, 1fr);
	column-gap: 14px;
	align-items: center;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--wp--preset--color--brume);
}
.collegiale-membre > * { margin: 0 !important; max-width: none !important; }
.collegiale-membre__initiales {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: var(--wp--preset--color--petrole);
	color: #fff;
	font-size: 17px;
	font-weight: 800;
}
.collegiale-membre__nom { font-size: 16px !important; font-weight: 700; line-height: 1.3; letter-spacing: 0; color: var(--wp--preset--color--contrast); align-self: end; }
.collegiale-membre__fonction { font-size: 14px; color: var(--wp--preset--color--gris); align-self: start; }
.collegiale-apercu-bureau .collegiale-bureau { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

/* ---------- Listes d'articles (actualités, catégories, recherche) ---------- */
.collegiale-filtres { gap: 8px 12px; margin-bottom: 36px !important; align-items: center; }
.collegiale-filtres p { margin: 0; }
.collegiale-filtres__liste { display: flex; flex-wrap: wrap; gap: 8px 12px; list-style: none; margin: 0; padding: 0; }
.collegiale-filtres a {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--wp--preset--color--brume);
	color: var(--wp--preset--color--petrole-sombre);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.collegiale-filtres a:hover { background: #d3e3ea; }
.collegiale-filtres .current-cat a { background: var(--wp--preset--color--petrole); color: #fff; }

.collegiale-liste { list-style: none; padding: 0; margin: 0; }
.collegiale-ligne {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	padding: 24px 0;
	border-top: 2px solid var(--wp--preset--color--brume);
}
.collegiale-ligne:not(:has(.wp-block-post-featured-image)) { grid-template-columns: minmax(0, 1fr); }
.collegiale-ligne > *, .collegiale-ligne__corps > * { margin: 0 !important; }
.collegiale-ligne__corps > * + * { margin-top: 6px !important; }
.collegiale-ligne__vignette { border-radius: 12px; overflow: hidden; }
.collegiale-ligne__vignette img { border-radius: 12px; }
.collegiale-ligne__meta { gap: 6px; font-size: 15px; font-weight: 700; }
.collegiale-ligne__meta > * { margin: 0 !important; }
.collegiale-ligne__meta > * + *::before { content: "· "; color: var(--wp--preset--color--gris); }
.collegiale-ligne .wp-block-post-terms a { color: var(--wp--preset--color--petrole); text-decoration: none; }
.collegiale-ligne .wp-block-post-title a { color: var(--wp--preset--color--petrole-sombre); text-decoration: none; }
.collegiale-ligne .wp-block-post-title a:hover { text-decoration: underline; }
.collegiale-ligne .wp-block-post-excerpt { color: var(--wp--preset--color--gris); font-size: 16px; }
.collegiale-ligne .wp-block-post-excerpt__excerpt { margin: 0; }
.collegiale-ligne .collegiale-infos-evenement { font-weight: 600; color: var(--wp--preset--color--corail-fonce); }
/* Pagination : pastilles de 44 px, faciles à toucher */
.wp-block-query-pagination { margin-top: 36px !important; gap: 8px 12px; font-weight: 700; align-items: center; }
.wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 8px; }
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--wp--preset--color--brume);
	color: var(--wp--preset--color--petrole-sombre);
	text-decoration: none;
}
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--petrole); color: #fff; }
.wp-block-query-pagination .page-numbers.dots { background: none; }
.wp-block-query-pagination a:hover { background: #d3e3ea; }
.has-brume-background-color .wp-block-query-pagination a,
.has-brume-background-color .wp-block-query-pagination .page-numbers:not(.current) { background: #fff; }

/* ---------- Formulaire de contact ---------- */
.collegiale-contact__formulaire { display: grid; gap: 20px; max-width: 640px; }
.collegiale-contact__formulaire > p { margin: 0; }
.collegiale-contact__champ { display: grid; gap: 6px; }
.collegiale-contact__champ label { font-weight: 700; color: var(--wp--preset--color--petrole-sombre); }
.collegiale-contact__champ label span { color: var(--wp--preset--color--corail-fonce); }
.collegiale-contact__champ input,
.collegiale-contact__champ textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 2px solid #6f8b99; /* 3,6:1 sur blanc (WCAG 1.4.11) */
	border-radius: 8px;
	background: #fff;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	transition: border-color .2s;
}
.collegiale-contact__champ textarea { min-height: 180px; resize: vertical; }
.collegiale-contact__champ input:hover,
.collegiale-contact__champ textarea:hover { border-color: var(--wp--preset--color--gris); }
.collegiale-contact__champ input:focus,
.collegiale-contact__champ textarea:focus { border-color: var(--wp--preset--color--petrole); }
.collegiale-contact__note { font-size: 15px; color: var(--wp--preset--color--gris); }
.collegiale-contact__envoi .wp-element-button { min-height: 48px; cursor: pointer; border: 0; }
.collegiale-contact__message {
	margin: 0 0 24px;
	padding: 14px 18px;
	border: 2px solid var(--wp--preset--color--petrole);
	border-radius: 10px;
	background: var(--wp--preset--color--brume);
	color: var(--wp--preset--color--petrole-sombre);
	font-weight: 600;
}
.collegiale-contact__message--erreur { border-color: var(--wp--preset--color--corail-fonce); background: #fbeeeb; color: #7a2f22; }

/* ---------- Article et page ---------- */
.collegiale-image-article { max-width: var(--wp--style--global--content-size); margin-inline: auto !important; }
.collegiale-image-article img { border-radius: 12px; max-height: 480px; object-fit: contain !important; background: var(--wp--preset--color--brume); }
.collegiale-navigation-articles {
	max-width: var(--wp--style--global--content-size);
	margin: 56px auto 0 !important;
	padding-top: 24px;
	border-top: 2px solid var(--wp--preset--color--brume);
	gap: 16px 32px;
	font-weight: 700;
}
.collegiale-pieces-jointes { margin-top: 40px; padding: 20px 24px; border-radius: 12px; background: var(--wp--preset--color--brume); }

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
	.collegiale-bandeau__intro { grid-template-columns: 1fr; margin-bottom: 26px; }
	.collegiale-bandeau__texte { font-size: 16px; }
	.collegiale-panneaux { grid-template-columns: 1fr; gap: 12px; }
	.collegiale-panneau { min-height: 170px; }
	.collegiale-panneau__contenu { padding: 56px 20px 18px; }
	.collegiale-panneau__titre { font-size: 23px; }
	.collegiale-panneau__texte { font-size: 14px; }
	.collegiale-actualites { grid-template-columns: 1fr; gap: 24px; }
	.collegiale-carte { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; }
	.collegiale-carte__vignette { width: 88px; height: 88px; border-radius: 10px; }
	.collegiale-carte__titre { font-size: 19px; }
	.collegiale-carte__extrait { display: none; }
	.collegiale-offres__titre, .collegiale-offre-ligne__corps .wp-block-post-title { font-size: 17px; }
	.collegiale-page-image { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.collegiale-page-image__photo { order: -1; position: static; }
	.collegiale-page-image__photo img {
		aspect-ratio: 16 / 9;
		border-radius: 14px 14px 0 0;
		-webkit-mask-image: linear-gradient(to top, transparent 0%, #000 40%);
		mask-image: linear-gradient(to top, transparent 0%, #000 40%);
	}
	.collegiale-page-image__photo figcaption { margin-top: 6px; text-align: left; }
	.collegiale-page-image__texte .collegiale-bureau { grid-template-columns: minmax(0, 1fr) !important; }
	.collegiale-apercu-bureau .collegiale-bureau { grid-template-columns: 1fr !important; }
	.collegiale-ligne { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; }
	.collegiale-ligne__vignette { width: 88px !important; height: 88px !important; }
	.collegiale-ligne .wp-block-post-excerpt { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.collegiale-panneau *, .collegiale-panneau::after, .collegiale-carte__vignette img, .collegiale-menu a, .collegiale-menu a::after { transition: none !important; }
	.collegiale-bandeau::before, .collegiale-titre::before { animation: none !important; }
}
