/*
 * Kit Asso : en-têtes et pieds de page ([asso_entete], [asso_pied], [asso_navigation]).
 * Couleurs, polices et formes : variables de l'ambiance (voir kitasso.css).
 * Règles : aucun libellé de lien ou de bouton coupé ; le menu se replie quand il ne tient plus
 * (classe is-replie posée par structure.js après mesure), les boutons rejoignent le menu
 * sur très petit écran (is-etroit).
 */

.kitasso-entete,
.kitasso-pied {
	--ke-largeur: var(--largeur-contenu, 1240px);
	--ke-marge: var(--marge-laterale, clamp(1rem, 4vw, 2.5rem));
	--ke-ombre: 0 12px 32px rgba(0, 0, 0, .12);
	font-family: var(--police-texte), system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.4;
	text-align: left;
}
.kitasso-entete *,
.kitasso-entete *::before,
.kitasso-entete *::after,
.kitasso-pied *,
.kitasso-pied *::before,
.kitasso-pied *::after { box-sizing: border-box; }

.kitasso-entete__conteneur,
.kitasso-pied__conteneur {
	width: 100%;
	max-width: calc(var(--ke-largeur) + 2 * var(--ke-marge));
	margin: 0 auto;
	padding: 0 var(--ke-marge);
}

.kitasso-entete ul,
.kitasso-pied ul { margin: 0; padding: 0; list-style: none; }
.kitasso-entete p,
.kitasso-pied p { margin: 0; }

.kitasso-entete .kitasso-bouton,
.kitasso-pied .kitasso-bouton {
	justify-content: center;
	padding: .75em 1.35em;
	font-size: 1rem;
	line-height: 1.2;
	white-space: nowrap;
}
.kitasso-entete .kitasso-bouton[aria-current] { box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .25); }

/* --- En-tête : structure commune ------------------------------------- */

.kitasso-entete {
	position: relative;
	z-index: 90;
	background: var(--kitasso-surface);
	color: var(--kitasso-texte);
}
.kitasso-entete__principal { border-bottom: 1px solid var(--kitasso-bordure); }
.kitasso-entete__ligne {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(1rem, 2.2vw, 2.25rem);
	min-height: 5rem;
	padding-top: .5rem;
	padding-bottom: .5rem;
}

.kitasso-entete__logo { flex: none; min-width: 0; }
.kitasso-entete__logo .kitasso-logo { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.kitasso-entete__logo .kitasso-logo__texte {
	display: block;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-weight: var(--kitasso-graisse-titres, 700);
	font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem);
	line-height: 1.15;
	letter-spacing: var(--kitasso-interlettrage-titres, 0);
	white-space: nowrap;
}
.kitasso-entete__logo .kitasso-logo__image { display: block; width: auto; height: auto; max-height: 3.5rem; max-width: min(15rem, 50vw); }

.kitasso-entete__actions { flex: none; display: flex; align-items: center; gap: .75rem; }

/* --- Navigation ------------------------------------------------------ */

.kitasso-nav { flex: 1 1 auto; min-width: 0; display: flex; justify-content: flex-end; }
.kitasso-nav__panneau { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: flex-end; }
.kitasso-nav__liste { display: flex; flex-wrap: nowrap; align-items: center; gap: .125rem; min-width: 0; }
.kitasso-entete:not(.is-pret) .kitasso-nav__liste { flex-wrap: wrap; }
.kitasso-nav__item { position: relative; flex: none; display: flex; align-items: center; }

.kitasso-entete .kitasso-nav__lien {
	display: block;
	padding: .65rem .7rem;
	border-radius: var(--kitasso-rayon-bouton);
	color: inherit;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.kitasso-entete .kitasso-nav__lien:hover { color: inherit; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .45em; }
.kitasso-entete .kitasso-nav__lien[aria-current="page"],
.kitasso-entete .kitasso-nav__item.is-actif > .kitasso-nav__lien {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: .45em;
	text-decoration-color: var(--kitasso-accent);
}

/* Boutons du menu : neutralise les styles de boutons du thème et du kit Elementor. */
.kitasso-entete button.kitasso-nav__ouvrir,
.kitasso-entete button.kitasso-nav__deplier,
.kitasso-entete button.kitasso-nav__ouvrir:hover,
.kitasso-entete button.kitasso-nav__deplier:hover,
.kitasso-entete button.kitasso-nav__ouvrir:focus,
.kitasso-entete button.kitasso-nav__deplier:focus {
	background: transparent;
	color: inherit;
	font: inherit;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	cursor: pointer;
}
.kitasso-entete button.kitasso-nav__deplier {
	display: inline-grid;
	place-items: center;
	width: 1.75rem;
	height: 2.5rem;
	margin-left: -.55rem;
	padding: 0;
	border: 0;
	border-radius: 6px;
}
/* La flèche fait partie du lien : aucun fond, le survol souligne le libellé. */
.kitasso-entete button.kitasso-nav__deplier:hover,
.kitasso-entete button.kitasso-nav__deplier:active { background: transparent; color: inherit; }
/* L'onglet et sa flèche réagissent ensemble : survoler l'un ou l'autre (ou le sous-menu ouvert) met l'onglet en valeur. */
.kitasso-entete:not(.is-replie) .kitasso-nav__item.a-sous-menu:hover > .kitasso-nav__lien,
.kitasso-entete.is-replie .kitasso-nav__item:has(> .kitasso-nav__deplier:hover) > .kitasso-nav__lien { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .45em; }
.kitasso-entete.is-replie .kitasso-nav__item:has(> .kitasso-nav__deplier:hover) > .kitasso-nav__lien { text-underline-offset: .3em; }
.kitasso-nav__deplier svg { transition: transform .2s; }
.kitasso-nav__deplier[aria-expanded="true"] svg { transform: rotate(180deg); }

.kitasso-nav__sous {
	display: none;
	position: absolute;
	z-index: 95;
	top: calc(100% + .375rem);
	left: 0;
	width: max-content;
	min-width: 14rem;
	max-width: min(22rem, 90vw);
	padding: .5rem !important;
	background: var(--kitasso-surface);
	color: var(--kitasso-texte);
	border: 1px solid var(--kitasso-bordure);
	border-radius: var(--kitasso-rayon);
	box-shadow: var(--ke-ombre);
}
.kitasso-nav__sous::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: .5rem; }
.kitasso-nav__item:nth-last-child(-n+2) > .kitasso-nav__sous { left: auto; right: 0; }
.kitasso-nav__item.is-ouvert > .kitasso-nav__sous { display: block; }
@media (hover: hover) {
	.kitasso-entete:not(.is-replie) .kitasso-nav__item.a-sous-menu:hover > .kitasso-nav__sous { display: block; }
}
.kitasso-entete .kitasso-nav__sous-lien {
	display: block;
	padding: .6rem .75rem;
	border-radius: calc(var(--kitasso-rayon) - 4px);
	color: inherit;
	font-weight: 500;
	text-decoration: none;
}
.kitasso-entete .kitasso-nav__sous-lien:hover,
.kitasso-entete .kitasso-nav__sous-lien:focus-visible { background: var(--kitasso-primaire-clair); color: var(--kitasso-primaire-fonce); }
.kitasso-entete .kitasso-nav__sous-lien[aria-current="page"] { font-weight: 700; box-shadow: inset 3px 0 0 var(--kitasso-accent); }

.kitasso-nav__actions { display: none; }

/* Bouton « Menu » */
.kitasso-nav__ouvrir { display: none; }
.kitasso-entete.is-replie button.kitasso-nav__ouvrir {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	min-height: 2.75rem;
	padding: .5rem .95rem;
	border: 1px solid var(--kitasso-bordure);
	border-radius: var(--kitasso-rayon-bouton);
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.kitasso-entete.is-replie button.kitasso-nav__ouvrir:hover { border-color: currentColor; }
.kitasso-nav__burger,
.kitasso-nav__burger > span,
.kitasso-nav__burger::before,
.kitasso-nav__burger::after { display: block; width: 1.125rem; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
.kitasso-nav__burger { position: relative; background: transparent; height: 14px; }
.kitasso-nav__burger > span { position: absolute; top: 6px; }
.kitasso-nav__burger::before,
.kitasso-nav__burger::after { content: ""; position: absolute; }
.kitasso-nav__burger::before { top: 0; }
.kitasso-nav__burger::after { bottom: 0; }
.kitasso-nav__ouvrir[aria-expanded="true"] .kitasso-nav__burger > span { opacity: 0; }
.kitasso-nav__ouvrir[aria-expanded="true"] .kitasso-nav__burger::before { transform: translateY(6px) rotate(45deg); }
.kitasso-nav__ouvrir[aria-expanded="true"] .kitasso-nav__burger::after { transform: translateY(-6px) rotate(-45deg); }

/* Menu replié : panneau sous l'en-tête */
.kitasso-entete.is-replie .kitasso-nav { flex: 1 1 auto; justify-content: flex-end; }
.kitasso-entete.is-replie .kitasso-nav__panneau {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	flex-direction: column;
	align-items: stretch;
	max-height: calc(100vh - var(--kitasso-entete-bas, 5rem));
	max-height: calc(100dvh - var(--kitasso-entete-bas, 5rem));
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: .5rem max(var(--ke-marge), (100% - var(--ke-largeur)) / 2) 1.75rem;
	background: var(--kitasso-surface);
	color: var(--kitasso-texte);
	border-top: 1px solid var(--kitasso-bordure);
	box-shadow: var(--ke-ombre);
}
.kitasso-entete.is-replie.is-ouvert .kitasso-nav__panneau { display: flex; }
.kitasso-entete.is-replie .kitasso-nav__liste { flex-direction: column; align-items: stretch; gap: 0; }
.kitasso-entete.is-replie .kitasso-nav__item { flex-wrap: wrap; border-bottom: 1px solid var(--kitasso-bordure); }
.kitasso-entete.is-replie .kitasso-nav__lien { flex: 1 1 0; min-width: 0; padding: .95rem 0; font-size: 1.0625rem; white-space: normal; }
.kitasso-entete.is-replie .kitasso-nav__lien:hover { text-underline-offset: .3em; }
.kitasso-entete.is-replie button.kitasso-nav__deplier { width: 3rem; height: 3rem; margin: 0; }
.kitasso-entete.is-replie .kitasso-nav__sous {
	position: static;
	flex-basis: 100%;
	width: auto;
	min-width: 0;
	max-width: none;
	padding: 0 0 .75rem .75rem !important;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.kitasso-entete.is-replie .kitasso-nav__sous::before { display: none; }
.kitasso-entete.is-replie .kitasso-nav__sous-lien { padding: .7rem .75rem; }

/* Très petit écran : les boutons passent dans le menu */
.kitasso-entete.is-etroit .kitasso-entete__actions { display: none; }
.kitasso-entete.is-etroit .kitasso-nav__actions { display: flex; flex-wrap: wrap; gap: .75rem; padding-top: 1.5rem; }
.kitasso-entete.is-etroit .kitasso-nav__actions .kitasso-bouton { flex: 1 1 auto; }
.kitasso-entete.is-etroit .kitasso-entete__logo { flex: 0 1 auto; }
.kitasso-entete.is-etroit .kitasso-logo__texte { white-space: normal; }
.kitasso-entete.is-replie .kitasso-entete__ligne { min-height: 4.25rem; }

/* En-tête fixe en haut de l'écran */
.kitasso-entete.is-fixe { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); }
[data-elementor-type="header"]:has(.kitasso-entete.is-fixe) { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 90; }
[data-elementor-type="header"] .kitasso-entete.is-fixe { position: relative; top: auto; }
@media (max-width: 600px) {
	.kitasso-entete.is-fixe,
	[data-elementor-type="header"]:has(.kitasso-entete.is-fixe) { top: 0; }
}
html:has(.kitasso-entete.is-fixe) { scroll-padding-top: 7rem; }
.kitasso-entete.is-fixe .kitasso-entete__principal { transition: box-shadow .2s; }
.kitasso-entete.is-fixe.is-defile .kitasso-entete__principal { box-shadow: 0 6px 24px rgba(0, 0, 0, .08); }

/* --- Bandeau du haut (indépendant du modèle d'en-tête) ------------------ */

.kitasso-bandeau {
	--kb-fond: var(--kitasso-primaire-fonce);
	--kb-texte: var(--kitasso-inverse);
	container-type: inline-size;
	position: relative;
	z-index: 91;
	background: var(--kb-fond);
	color: var(--kb-texte);
	font-family: var(--police-texte), system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: .875rem;
	line-height: 1.4;
}
.kitasso-bandeau[hidden] { display: none; }
.kitasso-bandeau--principal { --kb-fond: var(--kitasso-primaire); --kb-texte: var(--kitasso-inverse); }
.kitasso-bandeau--accent { --kb-fond: var(--kitasso-accent); --kb-texte: var(--kitasso-sur-accent); }
.kitasso-bandeau--clair { --kb-fond: var(--kitasso-primaire-clair); --kb-texte: var(--kitasso-primaire-fonce); }
.kitasso-bandeau *,
.kitasso-bandeau *::before,
.kitasso-bandeau *::after { box-sizing: border-box; }
.kitasso-bandeau__conteneur {
	display: flex;
	align-items: center;
	gap: .75rem;
	width: 100%;
	max-width: calc(var(--largeur-contenu, 1240px) + 2 * var(--marge-laterale, clamp(1rem, 4vw, 2.5rem)));
	min-height: 2.5rem;
	margin: 0 auto;
	padding: 0 var(--marge-laterale, clamp(1rem, 4vw, 2.5rem));
}
.kitasso-bandeau__elements { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: nowrap; align-items: center; gap: .5rem 1.75rem; white-space: nowrap; }
.kitasso-bandeau.is-gauche .kitasso-bandeau__elements { justify-content: flex-start; }
.kitasso-bandeau.is-centre .kitasso-bandeau__elements { justify-content: center; }
.kitasso-bandeau.is-droite .kitasso-bandeau__elements { justify-content: flex-end; }
.kitasso-bandeau.is-reparti .kitasso-bandeau__elements { justify-content: space-between; }
.kitasso-bandeau__el { flex: none; display: inline-flex; align-items: center; gap: .45rem; }
.kitasso-bandeau__el[hidden] { display: none; }
.kitasso-bandeau__el .kitasso-icone { width: 1rem; height: 1rem; flex: none; }
.kitasso-bandeau a:not(.kitasso-bouton) { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.kitasso-bandeau a:not(.kitasso-bouton):hover { color: inherit; text-decoration-thickness: 2px; }
.kitasso-bandeau :focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.kitasso-bandeau .kitasso-statut { display: inline-flex; align-items: center; gap: .5rem; margin: 0; padding: 0; background: transparent; color: inherit; font-size: inherit; font-weight: 600; }
.kitasso-bandeau .kitasso-statut__pastille { box-shadow: 0 0 0 2px var(--kb-texte) !important; }
.kitasso-bandeau .kitasso-reseaux { flex-wrap: nowrap; gap: .125rem; }
.kitasso-bandeau .kitasso-reseaux--icones a { width: 2rem; height: 2rem; border: 0; border-radius: 50%; }
.kitasso-bandeau .kitasso-reseaux--icones a:hover { background: color-mix(in srgb, currentColor 16%, transparent); }
.kitasso-bandeau .kitasso-reseaux--icones a:hover .kitasso-icone { color: inherit; }
.kitasso-bandeau .kitasso-bouton { padding: .35em .9em; font-size: .8125rem; line-height: 1.3; white-space: nowrap; }
.kitasso-bandeau--accent .kitasso-bouton { background: var(--kb-texte); color: var(--kb-fond); }
.kitasso-bandeau__libre { flex: 1 1 auto; min-width: 0; padding: .5rem 0; }
.kitasso-bandeau__libre p { margin: 0; }
.kitasso-bandeau__libre p + p { margin-top: .25rem; }
.kitasso-bandeau.is-centre .kitasso-bandeau__libre { text-align: center; }
.kitasso-bandeau.is-droite .kitasso-bandeau__libre { text-align: right; }
.kitasso-bandeau.is-libre.is-reparti .kitasso-bandeau__libre { text-align: center; }
.kitasso-bandeau button.kitasso-bandeau__fermer,
.kitasso-bandeau button.kitasso-bandeau__fermer:hover,
.kitasso-bandeau button.kitasso-bandeau__fermer:focus {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0 -.5rem 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.kitasso-bandeau button.kitasso-bandeau__fermer:hover { background: color-mix(in srgb, currentColor 16%, transparent); }
.kitasso-bandeau__fermer .kitasso-icone { width: 1.125rem; height: 1.125rem; }
@container (max-width: 40rem) {
	.kitasso-bandeau__el.is-bureau { display: none; }
	.kitasso-bandeau.is-reparti .kitasso-bandeau__elements { justify-content: center; }
}

/* --- Boutons réglés dans Apparence ------------------------------------ */

.kitasso-entete .kitasso-bouton .kitasso-icone,
.kitasso-lien-action .kitasso-icone { width: 1.05em; height: 1.05em; flex: none; }
/* Emoji choisi comme icône : garde ses couleurs, un peu plus grand pour rester lisible. */
.kitasso-entete .kitasso-bouton .kitasso-icone--emoji,
.kitasso-lien-action .kitasso-icone--emoji { width: 1.25em; height: 1.25em; }
.kitasso-entete .kitasso-lien-action,
.kitasso-pied .kitasso-lien-action {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .55rem .2rem;
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .35em;
	text-decoration-color: var(--kitasso-accent);
	white-space: nowrap;
}
.kitasso-entete .kitasso-lien-action:hover { color: inherit; text-decoration-color: currentColor; }
.kitasso-entete__actions--avant { margin-left: auto; }
.kitasso-entete__actions--avant + .kitasso-nav { flex: 0 1 auto; }

/* --- Gazette : ligne du prochain rendez-vous, grand nom centré, double filet --- */

.kitasso-entete__une { border-bottom: 1px solid var(--kitasso-bordure); font-size: .875rem; }
.kitasso-entete__une p { padding-top: .6rem; padding-bottom: .6rem; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kitasso-entete__une a { color: inherit; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.kitasso-entete__une a:hover { color: inherit; text-decoration-thickness: 2px; }
.kitasso-entete--gazette .kitasso-entete__principal { border-bottom: 4px double var(--kitasso-texte); }
.kitasso-entete--gazette:not(.is-replie) .kitasso-entete__ligne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	grid-template-areas: ". logo actions" "nav nav nav";
	row-gap: .5rem;
	padding-top: 1.5rem;
	padding-bottom: .25rem;
}
.kitasso-entete--gazette:not(.is-replie) .kitasso-entete__logo { grid-area: logo; justify-self: center; }
.kitasso-entete--gazette:not(.is-replie) .kitasso-logo__texte { font-size: clamp(1.75rem, 1rem + 2.6vw, 3.25rem); line-height: 1; letter-spacing: -.015em; }
.kitasso-entete--gazette:not(.is-replie) .kitasso-logo__image { max-height: 5rem; }
.kitasso-entete--gazette:not(.is-replie) .kitasso-entete__actions { grid-area: actions; justify-self: end; }
.kitasso-entete--gazette:not(.is-replie) .kitasso-nav { grid-area: nav; justify-content: center; }
.kitasso-entete--gazette:not(.is-replie) .kitasso-nav__panneau { justify-content: center; }
.kitasso-entete--gazette .kitasso-nav__lien { font-weight: 500; }

/* --- Affiche : filet épais, capitales espacées, boutons carrés à ombre portée franche --- */

.kitasso-entete--affiche .kitasso-entete__principal { border-bottom: 3px solid var(--kitasso-texte); }
.kitasso-entete--affiche .kitasso-logo__texte { text-transform: uppercase; font-weight: 800; letter-spacing: .01em; }
.kitasso-entete--affiche .kitasso-nav__lien { padding: .6rem .55rem; border-radius: 0; font-size: .8125rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.kitasso-entete--affiche .kitasso-nav__liste { gap: 0; }
.kitasso-entete--affiche .kitasso-nav__lien[aria-current="page"],
.kitasso-entete--affiche .kitasso-nav__item.is-actif > .kitasso-nav__lien { background: var(--kitasso-texte); color: var(--kitasso-surface); text-decoration: none; }
.kitasso-entete--affiche .kitasso-nav__lien[aria-current="page"]:hover,
.kitasso-entete--affiche .kitasso-nav__item.is-actif > .kitasso-nav__lien:hover { color: var(--kitasso-surface); }
.kitasso-entete--affiche .kitasso-bouton { border-radius: 0; box-shadow: 4px 4px 0 var(--kitasso-texte); transition: transform .12s, box-shadow .12s; }
.kitasso-entete--affiche .kitasso-bouton:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--kitasso-texte); }
.kitasso-entete--affiche .kitasso-bouton--secondaire { background: var(--kitasso-surface); color: var(--kitasso-texte); box-shadow: inset 0 0 0 2px var(--kitasso-texte), 4px 4px 0 var(--kitasso-texte); }
.kitasso-entete--affiche.is-replie button.kitasso-nav__ouvrir { border: 2px solid currentColor; border-radius: 0; letter-spacing: .08em; text-transform: uppercase; }
.kitasso-entete--affiche .kitasso-nav__sous,
.kitasso-entete--affiche.is-replie .kitasso-nav__panneau { border: 2px solid var(--kitasso-texte); border-radius: 0; box-shadow: 6px 6px 0 var(--kitasso-texte); }
.kitasso-entete--affiche.is-replie .kitasso-nav__panneau { border-width: 0 0 3px; box-shadow: none; }
.kitasso-entete--affiche .kitasso-nav__sous-lien { border-radius: 0; }

/* --- Institutionnel : logo et actions, puis bande de menu pleine largeur --- */

.kitasso-entete--institution .kitasso-entete__principal { border-bottom: 0; }
.kitasso-entete--institution:not(.is-replie) .kitasso-entete__ligne {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "logo actions" "nav nav";
	row-gap: 1rem;
	padding-top: 1rem;
	padding-bottom: 0;
}
.kitasso-entete--institution:not(.is-replie) .kitasso-entete__logo { grid-area: logo; }
.kitasso-entete--institution:not(.is-replie) .kitasso-entete__actions { grid-area: actions; justify-self: end; }
.kitasso-entete--institution:not(.is-replie) .kitasso-nav {
	grid-area: nav;
	justify-content: flex-start;
	background: var(--kitasso-primaire);
	color: var(--kitasso-inverse);
	box-shadow: 0 0 0 100vmax var(--kitasso-primaire);
	clip-path: inset(0 -100vmax);
}
.kitasso-entete--institution:not(.is-replie) .kitasso-nav__panneau { justify-content: flex-start; }
.kitasso-entete--institution:not(.is-replie) .kitasso-nav__lien { padding: .95rem .9rem; border-radius: 0; }
.kitasso-entete--institution:not(.is-replie) .kitasso-nav__item:first-child .kitasso-nav__lien { padding-left: 0; }
.kitasso-entete--institution:not(.is-replie) .kitasso-nav__lien[aria-current="page"],
.kitasso-entete--institution:not(.is-replie) .kitasso-nav__item.is-actif > .kitasso-nav__lien { text-decoration-color: currentColor; }
.kitasso-entete--institution:not(.is-replie) :focus-visible { outline-color: currentColor; }
.kitasso-entete--institution:not(.is-replie) .kitasso-nav__sous :focus-visible { outline-color: var(--kitasso-focus); }
.kitasso-entete--institution.is-replie .kitasso-entete__principal { border-bottom: 1px solid var(--kitasso-bordure); }

/* --- Intercalaires : les pages comme les onglets d'un classeur, la page ouverte se fond dans le contenu --- */

.kitasso-entete--onglets { background: var(--kitasso-primaire-clair); }
.kitasso-entete--onglets .kitasso-entete__principal { border-bottom: 0; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-entete__ligne {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "logo actions" "nav nav";
	row-gap: 1rem;
	min-height: 0;
	padding-top: 1.25rem;
	padding-bottom: 0;
}
.kitasso-entete--onglets:not(.is-replie) .kitasso-entete__logo { grid-area: logo; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-entete__actions { grid-area: actions; justify-self: end; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav { grid-area: nav; justify-content: flex-start; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__panneau { justify-content: flex-start; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__liste { align-items: flex-end; gap: .375rem; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__item {
	padding-right: .25rem;
	border-radius: var(--kitasso-rayon) var(--kitasso-rayon) 0 0;
	background: color-mix(in srgb, var(--kitasso-surface) 55%, transparent);
	color: var(--kitasso-primaire-fonce);
	transition: background-color .15s;
}
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__item:hover { background: var(--kitasso-surface); }
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__item.is-actif {
	background: var(--couleur-fond, var(--kitasso-surface));
	color: var(--kitasso-texte);
	box-shadow: inset 0 3px 0 var(--kitasso-accent);
}
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__lien { padding: .8rem 1.1rem .85rem; border-radius: inherit; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__lien:hover,
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__item.a-sous-menu:hover > .kitasso-nav__lien { text-decoration: none; }
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__item.is-actif > .kitasso-nav__lien,
.kitasso-entete--onglets:not(.is-replie) .kitasso-nav__lien[aria-current="page"] { text-decoration: none; }
.kitasso-entete--onglets.is-replie .kitasso-entete__principal { border-bottom: 1px solid var(--kitasso-bordure); }

/* --- Pastille : carte arrondie détachée des bords, fixe en haut de l'écran --- */

.kitasso-entete--flottant { background: transparent; padding: .75rem var(--ke-marge) 0; }
.kitasso-entete--flottant .kitasso-entete__principal {
	max-width: calc(var(--ke-largeur) + 3rem);
	margin: 0 auto;
	background: var(--kitasso-surface);
	border: 1px solid var(--kitasso-bordure);
	border-radius: calc(var(--kitasso-rayon) + 6px);
	box-shadow: 0 6px 24px rgba(0, 0, 0, .07);
}
/* La pastille flotte au-dessus du premier bloc : son fond passe derrière (structure.js, superposer). */
.kitasso-traversant { pointer-events: none; }
.kitasso-traversant > :not(.kitasso-traversant),
.kitasso-entete--flottant .kitasso-entete__principal,
.kitasso-entete--flottant .kitasso-nav__panneau { pointer-events: auto; }
.kitasso-sous-entete { border-top: var(--kitasso-superposition, 0px) solid transparent !important; }
.kitasso-entete--flottant .kitasso-entete__conteneur { padding: 0 clamp(1rem, 2vw, 1.5rem); }
.kitasso-entete--flottant .kitasso-entete__ligne { min-height: 4.25rem; }
.kitasso-entete--flottant.is-replie .kitasso-nav__panneau {
	top: calc(100% + .5rem);
	left: var(--ke-marge);
	right: var(--ke-marge);
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	border: 1px solid var(--kitasso-bordure);
	border-radius: calc(var(--kitasso-rayon) + 6px);
}

/* --- Épuré : sans cadre ni filet, le contenu de la page commence tout de suite --- */

.kitasso-entete--epure { background: transparent; }
.kitasso-entete--epure .kitasso-entete__principal { border-bottom: 0; }
.kitasso-entete--epure:not(.is-replie) .kitasso-entete__ligne { min-height: 6rem; }
.kitasso-entete--epure .kitasso-nav__lien { font-weight: 400; }
.kitasso-entete--epure .kitasso-nav__lien[aria-current="page"],
.kitasso-entete--epure .kitasso-nav__item.is-actif > .kitasso-nav__lien { text-decoration-thickness: 1px; text-decoration-color: currentColor; }

/* --- Deux rangs : nom et boutons, puis le menu sous un filet --- */

.kitasso-entete--deux-rangs:not(.is-replie) .kitasso-entete__ligne {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "logo actions" "nav nav";
	row-gap: .75rem;
	padding-top: 1.25rem;
	padding-bottom: 0;
}
.kitasso-entete--deux-rangs:not(.is-replie) .kitasso-entete__logo { grid-area: logo; }
.kitasso-entete--deux-rangs:not(.is-replie) .kitasso-entete__actions { grid-area: actions; justify-self: end; }
.kitasso-entete--deux-rangs:not(.is-replie) .kitasso-nav { grid-area: nav; justify-content: flex-start; border-top: 1px solid var(--kitasso-bordure); }
.kitasso-entete--deux-rangs:not(.is-replie) .kitasso-nav__panneau { justify-content: flex-start; }
.kitasso-entete--deux-rangs:not(.is-replie) .kitasso-nav__lien { padding: .85rem .9rem; }
.kitasso-entete--deux-rangs:not(.is-replie) .kitasso-nav__item:first-child .kitasso-nav__lien { padding-left: 0; }

/* --- Étiquettes : chaque rubrique est une étiquette colorée, la page ouverte est pleine --- */

.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__liste { gap: .4rem; }
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__item {
	padding-right: .15rem;
	border-radius: 999px;
	background: var(--kitasso-primaire-clair);
	color: var(--kitasso-primaire-fonce);
	transition: background-color .15s;
}
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__item:nth-child(even) { background: color-mix(in srgb, var(--couleur-accent-clair, var(--kitasso-primaire-clair)) 45%, var(--kitasso-surface)); color: var(--kitasso-texte); }
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__item:hover { background: color-mix(in srgb, var(--kitasso-primaire) 18%, var(--kitasso-primaire-clair)); }
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__item.is-actif { background: var(--kitasso-primaire); color: var(--kitasso-inverse); }
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__lien { padding: .5rem 1rem; border-radius: 999px; }
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__lien:hover,
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__item.a-sous-menu:hover > .kitasso-nav__lien,
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__lien[aria-current="page"],
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__item.is-actif > .kitasso-nav__lien { text-decoration: none; }
.kitasso-entete--etiquettes:not(.is-replie) .kitasso-nav__item.is-actif :focus-visible { outline-color: var(--kitasso-texte); }

/* --- Plaque de rue : le nom de l'association sur une plaque émaillée qui déborde du bandeau --- */

.kitasso-entete--plaque .kitasso-entete__logo .kitasso-logo {
	padding: .55rem 1.1rem .6rem;
	border-radius: 10px;
	background: var(--kitasso-primaire);
	color: var(--kitasso-inverse);
	box-shadow: inset 0 0 0 3px var(--kitasso-primaire), inset 0 0 0 5px var(--kitasso-inverse), 0 3px 0 var(--kitasso-primaire-fonce);
}
.kitasso-entete--plaque .kitasso-entete__logo .kitasso-logo:has(img) { background: var(--kitasso-surface); box-shadow: inset 0 0 0 3px var(--kitasso-surface), inset 0 0 0 5px var(--kitasso-primaire), 0 3px 0 var(--kitasso-primaire-fonce); }
.kitasso-entete--plaque .kitasso-entete__logo .kitasso-logo__texte {
	font-family: var(--police-texte), system-ui, sans-serif;
	font-size: clamp(.9375rem, .85rem + .35vw, 1.0625rem);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.kitasso-entete--plaque .kitasso-entete__logo .kitasso-logo__image { max-height: 3rem; }
.kitasso-entete--plaque:not(.is-replie) .kitasso-entete__logo { position: relative; z-index: 2; transform: translateY(1.1rem); }

/* --- Menu partagé : le nom au centre, le menu réparti de part et d'autre --- */

.kitasso-entete--scinde:not(.is-replie) .kitasso-entete__ligne { position: relative; justify-content: center; min-height: 5.5rem; }
.kitasso-entete--scinde:not(.is-replie) .kitasso-entete__logo { position: absolute; top: 50%; left: 50%; z-index: 1; transform: translate(-50%, -50%); }
.kitasso-entete--scinde:not(.is-replie) .kitasso-nav { flex: 1 1 auto; justify-content: center; }
.kitasso-entete--scinde:not(.is-replie) .kitasso-nav__panneau { justify-content: center; }
.kitasso-entete--scinde:not(.is-replie) .kitasso-nav__item:first-child { margin-left: var(--ke-avant, 0px); }
.kitasso-entete--scinde:not(.is-replie) .kitasso-nav__item.is-milieu { margin-right: var(--ke-logo, 16rem); }
.kitasso-entete--scinde:not(.is-replie) .kitasso-nav__item:last-child { margin-right: var(--ke-apres, 0px); }
.kitasso-entete--scinde:not(.is-replie) .kitasso-nav__item.is-milieu:last-child { margin-right: calc(var(--ke-logo, 16rem) + var(--ke-apres, 0px)); }
.kitasso-entete--scinde:not(.is-replie) .kitasso-entete__actions { position: absolute; top: 50%; right: var(--ke-marge); transform: translateY(-50%); }

/* --- Programme : nom seul et bouton « Menu », sommaire du site en grands caractères sur tout l'écran --- */

.kitasso-entete--programme .kitasso-entete__logo { margin-right: auto; }
.kitasso-entete--programme.is-replie .kitasso-nav { flex: none; }
.kitasso-entete--programme.is-replie .kitasso-nav__panneau {
	position: fixed;
	top: var(--kitasso-entete-bas, 5rem);
	bottom: 0;
	max-height: none;
	gap: 2.5rem;
	align-content: start;
	padding: clamp(1.5rem, 4vw, 3.5rem) max(var(--ke-marge), (100% - var(--ke-largeur)) / 2) 3rem;
	border-top: 1px solid var(--kitasso-bordure);
	box-shadow: none;
}
.kitasso-entete--programme.is-replie.is-ouvert .kitasso-nav__panneau { display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 60rem) {
	.kitasso-entete--programme.is-replie.is-ouvert .kitasso-nav__panneau { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); column-gap: 4rem; }
	.kitasso-entete--programme .kitasso-nav__liste { grid-row: span 2; }
}
.kitasso-entete--programme.is-replie .kitasso-nav__item { border-bottom: 0; }
.kitasso-entete--programme.is-replie .kitasso-nav__item > .kitasso-nav__lien { flex: 0 1 auto; }
.kitasso-entete--programme.is-replie button.kitasso-nav__deplier { margin-left: .5rem; }
.kitasso-entete--programme.is-replie .kitasso-nav__lien {
	padding: .3rem 0;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-size: clamp(1.75rem, 1.1rem + 2.8vw, 3.25rem);
	font-weight: var(--kitasso-graisse-titres, 600);
	line-height: 1.1;
	letter-spacing: var(--kitasso-interlettrage-titres, 0);
	text-transform: var(--kitasso-casse-titres, none);
}
.kitasso-entete--programme.is-replie .kitasso-nav__lien:hover { text-underline-offset: .15em; }
.kitasso-entete--programme.is-replie .kitasso-nav__sous-lien { font-size: 1.0625rem; }
.kitasso-nav__complement { display: none; }
.kitasso-entete--programme.is-replie .kitasso-nav__complement { display: grid; gap: 1.25rem; align-content: start; font-size: 1rem; line-height: 1.6; }
.kitasso-nav__complement a { color: inherit; }
.kitasso-nav__complement .kitasso-horaires-resume { margin: 0; }
html.kitasso-sans-defilement { overflow: hidden; }

/* --- Pied de page : structure commune -------------------------------- */

.kitasso-pied {
	container-type: inline-size;
	background: var(--kitasso-fond-alt);
	color: var(--kitasso-texte);
	line-height: 1.6;
}
.kitasso-pied.is-sombre { background: var(--kitasso-primaire-fonce); color: var(--kitasso-inverse); }
.kitasso-pied a:not(.kitasso-bouton) { color: inherit; text-decoration: none; }
.kitasso-pied a:not(.kitasso-bouton):hover { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.kitasso-pied p a:not(.kitasso-bouton) { text-decoration: underline; text-underline-offset: .2em; }
.kitasso-pied.is-sombre :focus-visible { outline-color: currentColor; }

.kitasso-pied__corps { padding: clamp(3rem, 2rem + 3vw, 4.5rem) 0; }
.kitasso-pied .kitasso-pied__titre {
	margin: 0 0 .85rem;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-size: 1.125rem;
	font-weight: var(--kitasso-graisse-titres, 600);
	line-height: 1.25;
	letter-spacing: var(--kitasso-interlettrage-titres, 0);
	text-transform: var(--kitasso-casse-titres, none);
	color: inherit;
}
.kitasso-pied__logo .kitasso-logo { display: inline-flex; color: inherit; text-decoration: none; }
.kitasso-pied__logo .kitasso-logo__texte { font-family: var(--police-titres), var(--police-texte), serif; font-weight: var(--kitasso-graisse-titres, 700); font-size: 1.5rem; line-height: 1.15; }
.kitasso-pied__logo .kitasso-logo__image { display: block; width: auto; height: auto; max-height: 4.5rem; max-width: 15rem; }
.kitasso-pied__presentation { max-width: 34rem; margin-top: 1rem !important; }
.kitasso-pied__reseaux { margin-top: 1.5rem; }
.kitasso-pied.is-sombre .kitasso-reseaux--icones a:hover .kitasso-icone { color: var(--kitasso-primaire-fonce); }
.kitasso-pied .kitasso-coord { gap: .6rem; }
.kitasso-pied .kitasso-horaires-resume { margin-top: 1rem; }
.kitasso-pied__boutons { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem !important; }
.kitasso-pied .kitasso-bouton--secondaire:hover,
.kitasso-pied .kitasso-bouton--secondaire:focus { background: var(--kitasso-surface); color: var(--kitasso-primaire-fonce); }

.kitasso-pied__menu ul { columns: 2 10.5rem; column-gap: 1.5rem; }
.kitasso-pied__menu li { break-inside: avoid; padding: .2rem 0; }

.kitasso-pied__bas { padding: 1.25rem 0; border-top: 1px solid color-mix(in srgb, currentColor 22%, transparent); font-size: .875rem; }
.kitasso-pied__bas .kitasso-pied__conteneur { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 2rem; }
.kitasso-pied__legal ul { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
.kitasso-pied__legal li,
.kitasso-pied__copyright { white-space: nowrap; }
@container (max-width: 40rem) {
	.kitasso-pied__bas .kitasso-pied__conteneur { flex-direction: column; align-items: flex-start; }
}

/* --- Sommaire : présentation, adresse, pages du site, soutien --- */

.kitasso-pied__colonnes { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
@container (min-width: 40rem) {
	.kitasso-pied__colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kitasso-pied__col--asso { grid-column: 1 / -1; }
}
@container (min-width: 66rem) {
	.kitasso-pied__colonnes { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr); }
	.kitasso-pied__col--asso { grid-column: auto; }
}

/* --- Lettre : le pied de page se lit comme un mot laissé par l'équipe --- */

.kitasso-pied__lettre > * { max-width: 42rem; }
.kitasso-pied .kitasso-pied__merci {
	margin-bottom: 1.25rem;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem);
	font-weight: var(--kitasso-graisse-titres, 600);
	line-height: 1.1;
	letter-spacing: var(--kitasso-interlettrage-titres, 0);
	text-transform: var(--kitasso-casse-titres, none);
}
.kitasso-pied__lettre .kitasso-pied__presentation { max-width: 42rem; margin-top: 0 !important; font-size: 1.0625rem; }
.kitasso-pied .kitasso-pied__signature { display: grid; gap: .15rem; margin-top: 2rem; }
.kitasso-pied__nom { font-family: var(--police-titres), var(--police-texte), serif; font-size: 1.5rem; font-weight: var(--kitasso-graisse-titres, 600); line-height: 1.2; color: var(--kitasso-primaire); }
.kitasso-pied .kitasso-pied__ps { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--kitasso-bordure); font-size: .9375rem; }

/* --- Slogan : une seule phrase, en très grand, clôt la page --- */

.kitasso-pied__declaration { display: grid; gap: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
.kitasso-pied .kitasso-pied__phrase {
	min-width: 0;
	max-width: 18ch;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-size: clamp(2.25rem, 1.1rem + 4.6vw, 5.5rem);
	font-weight: var(--kitasso-graisse-titres, 600);
	line-height: 1.02;
	letter-spacing: -.02em;
	text-transform: var(--kitasso-casse-titres, none);
	text-wrap: balance;
	overflow-wrap: anywhere;
}
.kitasso-pied__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 1.5rem; border-top: 1px solid color-mix(in srgb, currentColor 25%, transparent); }
.kitasso-pied__meta .kitasso-pied__boutons { margin-top: 0 !important; }
.kitasso-pied__declaration .kitasso-pied__reseaux { margin-top: -1rem; }

/* --- Carte d'adhérent : la carte de membre posée à côté de l'invitation à adhérer --- */

.kitasso-pied__adhesion { display: grid; gap: 2.5rem; align-items: center; }
@container (min-width: 52rem) { .kitasso-pied__adhesion { grid-template-columns: minmax(0, 23rem) minmax(0, 1fr); gap: 4.5rem; } }
.kitasso-pied__carte-membre {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .35rem;
	width: 100%;
	max-width: 23rem;
	aspect-ratio: 1.586;
	padding: 1.75rem 1.5rem 1.25rem;
	overflow: hidden;
	border-radius: calc(var(--kitasso-rayon) + 4px);
	background: var(--kitasso-surface);
	color: var(--kitasso-texte);
	box-shadow: 0 20px 44px rgba(0, 0, 0, .28);
}
.kitasso-pied__carte-membre::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: .5rem; background: var(--kitasso-accent); }
@container (min-width: 40rem) { .kitasso-pied__carte-membre { transform: rotate(-3deg); } }
.kitasso-pied__carte-membre .kitasso-logo__texte { font-size: 1.25rem; }
.kitasso-pied__carte-membre .kitasso-logo__image { max-height: 3rem; }
.kitasso-pied .kitasso-pied__carte-titre { margin-top: auto; color: var(--kitasso-primaire); font-size: .9375rem; font-weight: 700; }
.kitasso-pied .kitasso-pied__carte-tarif { padding-top: .5rem; border-top: 1px dashed var(--kitasso-bordure); font-family: var(--police-titres), var(--police-texte), serif; font-size: 1.375rem; font-weight: var(--kitasso-graisse-titres, 600); line-height: 1.2; }
.kitasso-pied .kitasso-pied__grand-titre {
	margin: 0 0 .75rem;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.625rem);
	font-weight: var(--kitasso-graisse-titres, 600);
	line-height: 1.12;
	letter-spacing: var(--kitasso-interlettrage-titres, 0);
	text-transform: var(--kitasso-casse-titres, none);
	color: inherit;
}
.kitasso-pied__adhesion-texte > p:not(.kitasso-pied__boutons) { max-width: 36rem; }
.kitasso-pied__coord-ligne { margin-top: 2rem; }
.kitasso-pied__coord-ligne .kitasso-coord { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }

/* --- Plaque de la porte : ouvert ou fermé, en grand, avec les horaires de la semaine --- */

.kitasso-pied__plaque { display: grid; gap: 2rem; align-items: start; }
@container (min-width: 50rem) { .kitasso-pied__plaque { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 3.5rem; } }
.kitasso-pied__plaque-porte {
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	border: 1px solid var(--kitasso-bordure);
	border-radius: var(--kitasso-rayon);
	background: var(--kitasso-surface);
	box-shadow: inset 0 0 0 6px var(--kitasso-surface), inset 0 0 0 7px var(--kitasso-bordure);
}
.kitasso-pied__plaque-porte .kitasso-statut {
	display: flex;
	margin: 0 0 1.5rem;
	padding: 0;
	background: transparent;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);
	font-weight: var(--kitasso-graisse-titres, 600);
	line-height: 1.15;
}
.kitasso-pied__plaque-porte .kitasso-statut__pastille { width: .5em; height: .5em; flex: none; }
.kitasso-pied__plaque-infos { display: grid; gap: 1.25rem; align-content: start; }

/* --- Défilant : la phrase de l'association défile en très grand, avec un bouton pour l'arrêter --- */

.kitasso-pied__defilant { position: relative; overflow: hidden; padding: clamp(1.75rem, 1rem + 3vw, 3rem) 0 clamp(3.25rem, 2.5rem + 3vw, 4.5rem); border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent); }
.kitasso-pied__piste { display: flex; width: max-content; animation: kitasso-defile 45s linear infinite; }
.kitasso-pied__piste > div { display: flex; flex: none; }
.kitasso-pied__piste span {
	flex: none;
	padding-right: .6em;
	font-family: var(--police-titres), var(--police-texte), serif;
	font-size: clamp(2.25rem, 1.2rem + 4.5vw, 5.5rem);
	font-weight: var(--kitasso-graisse-titres, 600);
	line-height: 1.05;
	letter-spacing: -.01em;
	text-transform: var(--kitasso-casse-titres, none);
	white-space: nowrap;
}
.kitasso-pied__piste span:nth-child(even) { color: transparent; -webkit-text-stroke: 1.5px currentColor; }
.kitasso-pied__defilant.is-arrete .kitasso-pied__piste { animation-play-state: paused; }
@keyframes kitasso-defile { to { transform: translateX(-50%); } }
.kitasso-pied button.kitasso-pied__pause,
.kitasso-pied button.kitasso-pied__pause:hover,
.kitasso-pied button.kitasso-pied__pause:focus {
	position: absolute;
	right: var(--ke-marge);
	bottom: .75rem;
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.kitasso-pied button.kitasso-pied__pause:hover { background: color-mix(in srgb, currentColor 14%, transparent); }
.kitasso-pied__pause .kitasso-pied__icone-lecture,
.kitasso-pied__defilant.is-arrete .kitasso-pied__icone-pause { display: none; }
.kitasso-pied__defilant.is-arrete .kitasso-pied__icone-lecture { display: block; }
@media (prefers-reduced-motion: reduce) {
	.kitasso-pied__piste { animation: none; }
	.kitasso-pied button.kitasso-pied__pause { display: none; }
}
.kitasso-pied__trois { display: grid; gap: 2rem; }
@container (min-width: 48rem) { .kitasso-pied__trois { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kitasso-pied__trois .kitasso-horaires-resume { margin-top: 0; }

/* --- Deux colonnes : présentation d'un côté, adresse et horaires de l'autre --- */

@container (min-width: 50rem) { .kitasso-pied__deux--egales { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; } }
.kitasso-pied__infos--serre { margin-top: 0; }
.kitasso-pied__infos--serre .kitasso-horaires-resume { margin-top: 0; }

/* --- Prochains rendez-vous : les trois dates à venir, en grand --- */

.kitasso-pied__rdvs { display: grid; gap: 1rem; margin: 1.5rem 0 0 !important; }
.kitasso-pied a.kitasso-pied__rdv { display: flex; align-items: center; gap: 1.25rem; text-decoration: none; }
.kitasso-pied__rdv-date {
	flex: none;
	display: grid;
	place-items: center;
	width: 4.25rem;
	padding: .5rem 0 .6rem;
	border: 1px solid color-mix(in srgb, currentColor 35%, transparent);
	border-radius: var(--kitasso-rayon);
	font-size: .8125rem;
	line-height: 1.1;
	text-align: center;
}
.kitasso-pied__rdv-date span { font-family: var(--police-titres), var(--police-texte), serif; font-size: 1.875rem; font-weight: var(--kitasso-graisse-titres, 600); line-height: 1; }
.kitasso-pied__rdv-texte { display: grid; gap: .15rem; min-width: 0; }
.kitasso-pied__rdv-texte strong { font-family: var(--police-titres), var(--police-texte), serif; font-size: 1.1875rem; font-weight: var(--kitasso-graisse-titres, 600); line-height: 1.25; }
.kitasso-pied__rdv-texte span { font-size: .9375rem; opacity: .9; }
.kitasso-pied a.kitasso-pied__rdv:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.kitasso-pied--agenda .kitasso-pied__col { display: grid; gap: 1rem; align-content: start; }
.kitasso-pied--agenda .kitasso-pied__col .kitasso-horaires-resume,
.kitasso-pied--agenda .kitasso-pied__col .kitasso-pied__reseaux { margin-top: 0; }

/* --- Avec le soutien de : les logos des financeurs, puis les coordonnées sur une ligne --- */

.kitasso-pied--partenaires { background: var(--kitasso-surface); border-top: 1px solid var(--kitasso-bordure); }
.kitasso-pied__soutiens { display: grid; gap: 2.5rem; }
.kitasso-pied__financeurs .kitasso-partenaires { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2.5rem; margin: 0; padding: 0; list-style: none; }
.kitasso-pied__financeurs .kitasso-partenaire { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.kitasso-pied__financeurs .kitasso-partenaire img { display: block; width: auto; max-width: 10rem; height: auto; max-height: 3.5rem; object-fit: contain; }
.kitasso-pied__financeurs .kitasso-partenaire__nom { font-weight: 700; }
.kitasso-pied__ligne-infos { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 3rem; padding-top: 2rem; border-top: 1px solid var(--kitasso-bordure); }
.kitasso-pied__ligne-infos .kitasso-coord { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.kitasso-pied__ligne-infos .kitasso-pied__reseaux { margin-top: 0; margin-left: auto; }

/* --- Carte postale : un mot à gauche, l'adresse et le timbre à droite --- */

.kitasso-pied__postale {
	display: grid;
	gap: 2rem;
	padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
	border-radius: calc(var(--kitasso-rayon) / 2);
	background: var(--kitasso-surface);
	color: var(--kitasso-texte);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .25);
}
@container (min-width: 50rem) {
	.kitasso-pied__postale { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 0; }
	.kitasso-pied__postale-message { padding-right: 3rem; border-right: 1px dashed var(--kitasso-bordure); }
	.kitasso-pied__postale-adresse { padding-left: 3rem; }
}
.kitasso-pied__postale .kitasso-pied__merci { margin-bottom: 1rem; }
.kitasso-pied__postale .kitasso-pied__presentation { margin-top: 0 !important; }
.kitasso-pied__postale a:not(.kitasso-bouton) { color: var(--kitasso-accent-texte); }
.kitasso-pied__postale :focus-visible { outline-color: var(--kitasso-focus); }
.kitasso-pied__postale-adresse { display: grid; gap: 1.25rem; align-content: start; }
.kitasso-pied__timbre {
	justify-self: end;
	display: grid;
	place-items: center;
	width: 6.5rem;
	aspect-ratio: .82;
	padding: .5rem;
	background: var(--kitasso-primaire-clair);
	border: 6px dotted var(--kitasso-surface);
	outline: 1px solid var(--kitasso-bordure);
	text-align: center;
}
.kitasso-pied__timbre .kitasso-logo__texte { font-family: var(--police-titres), var(--police-texte), serif; font-size: .8125rem; font-weight: 700; line-height: 1.15; color: var(--kitasso-primaire-fonce); }
.kitasso-pied__timbre .kitasso-logo__image { max-width: 100%; max-height: 5rem; }
.kitasso-pied__postale-adresse .kitasso-coord { gap: 0; }
.kitasso-pied__postale-adresse .kitasso-coord > * { padding: .55rem 0; border-bottom: 1px solid var(--kitasso-bordure); }

/* --- Contact et carte --- */

.kitasso-pied__deux { display: grid; gap: 2.5rem; }
@container (min-width: 58rem) { .kitasso-pied__deux { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 4rem; } }
.kitasso-pied__infos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); gap: 2rem; margin-top: 2rem; }
.kitasso-pied__carte .kitasso-carte iframe { display: block; border-radius: var(--kitasso-rayon); }
.kitasso-pied__carte .kitasso-carte__lien { margin-top: .75rem; font-size: .875rem; }
.kitasso-pied__carte .kitasso-carte__lien a { text-decoration: underline !important; }
.kitasso-pied .kitasso-horaires-liste { margin: 0; }

/* --- Une ligne : mentions, adresse et réseaux sur un seul rang --- */

.kitasso-pied--compact { border-top: 1px solid var(--kitasso-bordure); }
.kitasso-pied--compact .kitasso-pied__corps { padding: 1.25rem 0; }
.kitasso-pied__une-ligne { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 2rem; font-size: .875rem; }
.kitasso-pied__une-ligne .kitasso-pied__legal { margin-left: auto; }
.kitasso-pied__une-ligne .kitasso-pied__reseaux { margin-top: 0; }
.kitasso-pied__une-ligne .kitasso-reseaux--icones a { width: 2.25rem; height: 2.25rem; }
@container (max-width: 48rem) {
	.kitasso-pied__une-ligne { flex-direction: column; align-items: flex-start; }
	.kitasso-pied__une-ligne .kitasso-pied__legal { margin-left: 0; }
}

/* Sections de la page (site en une page) : arrivée sous l'en-tête fixe, défilement doux si le visiteur l'accepte. */
.kitasso-ancre { display: block; height: 0; overflow: hidden; scroll-margin-top: calc(var(--kitasso-entete-hauteur, 0px) + 1rem); }
@media (prefers-reduced-motion: no-preference) {
	html:has(.kitasso-ancre) { scroll-behavior: smooth; }
}
