/*
 * Agenda EPC — tout est sous .epc-agenda, rien ne touche au thème.
 * Conçu d'abord pour le téléphone ; la carte passe en ligne quand le
 * conteneur (et non la fenêtre) offre 760 px.
 *
 * Tailles tenues : texte 16 px au moins, secondaire 15 px, zones à toucher
 * 48 px au moins, 8 px au moins entre deux zones.
 */

@font-face {
	font-family: "EPC Figtree";
	src: url("polices/figtree-latin.woff2") format("woff2");
	font-weight: 300 700;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "EPC Figtree";
	src: url("polices/figtree-latin-ext.woff2") format("woff2");
	font-weight: 300 700;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

.epc-agenda {
	--epc-texte: #2b2523;
	--epc-texte-2: #453d39;
	--epc-texte-3: #5e534e;
	--epc-titre: #3a3330;
	--epc-accent: #6a1b1b;
	--epc-accent-fonce: #541414;
	--epc-fond-carte: #ffffff;
	--epc-fond-doux: #f4ece5;
	--epc-trait: #e7ded6;
	--epc-trait-fort: #b9a79b;
	--epc-sans: "EPC Figtree", "Helvetica Neue", Arial, sans-serif;

	container-type: inline-size;
	container-name: epc;
	display: block;
	margin: 0 0 32px;
	color: var(--epc-texte);
	font-family: var(--epc-sans);
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	-webkit-text-size-adjust: 100%;
}
.epc-agenda *,
.epc-agenda *::before,
.epc-agenda *::after {
	box-sizing: border-box;
}
.epc-agenda [hidden] {
	display: none !important;
}
.epc-agenda p,
.epc-agenda h2,
.epc-agenda h3,
.epc-agenda ul {
	margin: 0;
	padding: 0;
}

/* ----- Les deux publics ------------------------------------------------ */

.epc-agenda .epc-publics {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 20px;
}
.epc-agenda a.epc-public {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 8px 16px;
	border: 1px solid var(--epc-trait-fort);
	border-radius: 10px;
	background: #ffffff;
	color: var(--epc-texte) !important;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
	box-shadow: none;
}
.epc-agenda a.epc-public:hover {
	border-color: var(--epc-accent);
}
.epc-agenda a.epc-public.is-actif {
	border-color: var(--epc-accent);
	background: var(--epc-accent);
	color: #ffffff !important;
}

/* ----- La liste --------------------------------------------------------- */

.epc-agenda .epc-liste {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.epc-agenda .epc-mois {
	margin: 12px 0 0;
	padding: 0 0 8px;
	border-bottom: 1px solid #e0d5cc;
	color: var(--epc-titre);
	font-family: var(--epc-sans);
	font-size: 24px;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}
.epc-agenda .epc-vide {
	padding: 12px 0;
	color: var(--epc-texte-2);
	font-size: 17px;
}

/* ----- La carte --------------------------------------------------------- */

.epc-agenda .epc-carte {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--epc-trait);
	border-radius: 12px;
	background: var(--epc-fond-carte);
	scroll-margin-top: 110px;
}
.epc-agenda .epc-carte__date {
	display: none;
}
.epc-agenda .epc-carte__photo {
	position: relative;
	height: 170px;
	overflow: hidden;
	background: #eadfd6;
}
/* Bien des thèmes imposent leur hauteur aux images : ici la photo remplit son cadre, quoi qu'ils disent. */
.epc-agenda .epc-carte__photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	object-fit: cover;
}
.epc-agenda .epc-carte__corps {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	padding: 16px 16px 0;
}
.epc-agenda .epc-carte__quand {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 2px 12px;
	color: var(--epc-accent);
	font-size: 16px;
	font-weight: 600;
}
.epc-agenda .epc-carte__quand-heure {
	color: var(--epc-texte-2);
	font-weight: 400;
	white-space: nowrap;
}
.epc-agenda .epc-carte__categorie {
	display: none;
	font-size: 14px;
	line-height: 1.3;
}
.epc-agenda .epc-carte__categorie span {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid var(--epc-trait-fort);
	border-radius: 20px;
	color: #4a2a2a;
	font-weight: 600;
}
.epc-agenda .epc-carte__titre {
	color: var(--epc-texte);
	font-family: var(--epc-sans);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	text-wrap: balance;
}
.epc-agenda .epc-carte__lieu {
	color: var(--epc-texte-3);
	font-size: 16px;
	line-height: 1.4;
}
.epc-agenda .epc-carte__resume {
	color: var(--epc-texte-2);
	font-size: 16px;
	line-height: 1.5;
	text-wrap: pretty;
}
.epc-agenda .epc-carte__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 12px 16px 18px;
}
.epc-agenda .epc-carte__boutons {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 10px;
}

/* ----- L'état : un mot, jamais un nombre -------------------------------- */

.epc-agenda .epc-etat {
	align-self: flex-start;
	padding: 5px 14px;
	border-radius: 20px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}
.epc-agenda .epc-etat--disponible {
	background: #e4f0e6;
	color: #1f5a30;
}
.epc-agenda .epc-etat--bientot {
	background: #fbe7c6;
	color: #7a4300;
}
.epc-agenda .epc-etat--complet {
	background: #f3dedb;
	color: #7a1f1f;
}

/* ----- Les boutons ------------------------------------------------------ */

.epc-agenda a.epc-bouton,
.epc-agenda button.epc-bouton {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 8px 18px;
	border: 1px solid var(--epc-trait-fort);
	border-radius: 10px;
	background: #ffffff;
	color: var(--epc-texte) !important;
	font-family: var(--epc-sans);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	box-shadow: none;
	cursor: pointer;
}
.epc-agenda a.epc-bouton:hover {
	border-color: var(--epc-accent);
}
.epc-agenda a.epc-bouton--plein {
	border-color: var(--epc-accent);
	background: var(--epc-accent);
	color: #ffffff !important;
	font-size: 17px;
	font-weight: 600;
}
.epc-agenda a.epc-bouton--contour,
.epc-agenda button.epc-bouton--contour {
	border: 2px solid var(--epc-accent);
	color: var(--epc-accent) !important;
	font-weight: 600;
}
.epc-agenda a.epc-bouton--plein:hover {
	border-color: var(--epc-accent-fonce);
	background: var(--epc-accent-fonce);
}
.epc-agenda a:focus-visible,
.epc-agenda button:focus-visible {
	outline: 3px solid #0b5fcc;
	outline-offset: 2px;
}

/* ----- La description longue -------------------------------------------- */

.epc-agenda dialog.epc-detail {
	position: static;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 20px 16px 24px;
	border: 0;
	border-top: 1px solid var(--epc-trait);
	background: #ffffff;
	color: var(--epc-texte);
}
.epc-agenda dialog.epc-detail:not([open]) {
	display: none;
}
.epc-agenda dialog.epc-detail:modal {
	position: fixed;
	inset: auto 0 0 0;
	width: 100%;
	max-width: none;
	max-height: 90dvh;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 22px 16px 28px;
	border: 0;
	border-radius: 18px 18px 0 0;
	box-shadow: 0 -12px 40px rgba(43, 37, 35, 0.3);
}
.epc-agenda dialog.epc-detail::backdrop {
	background: rgba(43, 37, 35, 0.55);
}
.epc-agenda .epc-detail__tete {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
.epc-agenda .epc-detail__tete form {
	margin: 0;
}
.epc-agenda .epc-detail__sur-titre {
	margin-bottom: 4px;
	color: var(--epc-texte-3);
	font-size: 15px;
	line-height: 1.4;
}
.epc-agenda .epc-detail__titre {
	color: var(--epc-texte);
	font-family: var(--epc-sans);
	font-size: 25px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}
.epc-agenda button.epc-detail__fermer {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--epc-trait-fort);
	border-radius: 50%;
	background: #ffffff;
	color: var(--epc-texte);
	box-shadow: none;
	cursor: pointer;
}
.epc-agenda dialog.epc-detail:not(:modal) .epc-detail__fermer {
	display: none;
}
.epc-agenda .epc-detail__faits {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 16px 0;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--epc-fond-doux);
	list-style: none;
	font-size: 16px;
	line-height: 1.45;
}
.epc-agenda .epc-detail__faits li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.epc-agenda .epc-detail__faits li::before {
	content: none;
}
.epc-agenda .epc-detail__texte {
	font-size: 17px;
	line-height: 1.6;
	text-wrap: pretty;
}
.epc-agenda .epc-detail__texte p {
	margin: 0 0 14px;
}
.epc-agenda .epc-detail__texte ul,
.epc-agenda .epc-detail__texte ol {
	margin: 0 0 14px;
	padding-left: 22px;
}
.epc-agenda .epc-detail .epc-etat {
	display: inline-block;
	margin: 4px 0 0;
}
.epc-agenda .epc-detail__pied {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 18px;
}

/* ----- S'inscrire ------------------------------------------------------- */

.epc-agenda .epc-deja {
	margin-top: 8px;
	color: var(--epc-texte-3);
	font-size: 16px;
	text-align: center;
}
.epc-agenda .epc-deja a,
.epc-agenda .epc-retour a,
.epc-agenda .epc-liens a {
	display: inline-block;
	padding: 12px 0;
	color: #0b5fcc !important;
	text-decoration: underline;
}
.epc-agenda .epc-formulaire {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 720px;
	margin: 0 auto;
	scroll-margin-top: 110px;
}
.epc-agenda .epc-retour {
	font-size: 16px;
}
.epc-agenda .epc-titre {
	color: var(--epc-titre);
	font-family: var(--epc-sans);
	font-size: 32px;
	font-weight: 300;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
}
.epc-agenda .epc-titre--fait::before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 34px;
	margin: 0 12px -5px 0;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f5a30' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M7.5 12.5l3 3 6-6.5'/%3E%3C/svg%3E");
}
.epc-agenda .epc-chapeau {
	font-size: 17px;
	line-height: 1.5;
}
.epc-agenda .epc-avis,
.epc-agenda .epc-encadre {
	padding: 16px;
	border-radius: 12px;
	background: var(--epc-fond-doux);
	font-size: 16px;
	line-height: 1.5;
}
.epc-agenda .epc-avis--fait {
	background: #e4f0e6;
	color: #1f5a30;
	font-weight: 600;
}
.epc-agenda .epc-encadre {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.epc-agenda .epc-rappel {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 12px;
	border: 1px solid var(--epc-trait);
	border-radius: 12px;
	background: #ffffff;
}
.epc-agenda .epc-rappel__photo {
	position: relative;
	width: 88px;
	height: 88px;
	overflow: hidden;
	border-radius: 8px;
	background: #eadfd6;
}
.epc-agenda .epc-rappel__photo img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border-radius: 0 !important;
	object-fit: cover;
}
.epc-agenda .epc-rappel__texte {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	color: var(--epc-texte-2);
	font-size: 15px;
	line-height: 1.4;
}
.epc-agenda .epc-rappel__texte:only-child {
	grid-column: 1 / -1;
}
.epc-agenda .epc-rappel__titre {
	color: var(--epc-texte);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.25;
}
.epc-agenda .epc-form,
.epc-agenda .epc-etape {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0;
}
.epc-agenda .epc-etape__titre,
.epc-agenda .epc-payer__titre {
	color: var(--epc-texte);
	font-family: var(--epc-sans);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}
.epc-agenda .epc-etape__titre:focus {
	outline: none;
}
.epc-agenda .epc-piege,
.epc-agenda .epc-cache {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.epc-agenda .epc-fil {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.epc-agenda .epc-fil__barres {
	display: flex;
	gap: 6px;
}
.epc-agenda .epc-fil__barres span {
	flex: 1 1 0;
	height: 6px;
	border-radius: 3px;
	background: #ddd2c9;
}
.epc-agenda .epc-fil__barres span.est-faite {
	background: var(--epc-accent);
}
.epc-agenda .epc-fil__ou {
	color: var(--epc-texte-2);
	font-size: 15px;
	line-height: 1.4;
}
.epc-agenda .epc-paire {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.epc-agenda .epc-champ {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.epc-agenda .epc-champ label,
.epc-agenda .epc-choix legend {
	margin: 0;
	padding: 0;
	color: var(--epc-texte);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}
.epc-agenda .epc-facultatif {
	color: var(--epc-texte-3);
	font-weight: 400;
}
.epc-agenda .epc-champ input,
.epc-agenda .epc-champ textarea {
	width: 100%;
	max-width: none;
	min-height: 52px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #8c7b70;
	border-radius: 10px;
	background: #ffffff;
	color: var(--epc-texte);
	font-family: var(--epc-sans);
	font-size: 17px;
	line-height: 1.4;
	box-shadow: none;
}
.epc-agenda .epc-champ textarea {
	padding: 12px 14px;
	resize: vertical;
}
.epc-agenda .epc-champ.a-une-erreur input {
	border: 2px solid #a32020;
}
.epc-agenda .epc-aide {
	color: var(--epc-texte-3);
	font-size: 15px;
	line-height: 1.45;
}
.epc-agenda .epc-question {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.epc-agenda .epc-champ.a-une-erreur textarea {
	border: 2px solid #a32020;
}
.epc-agenda .epc-erreur {
	color: #8f1d1d;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}
.epc-agenda .epc-erreurs {
	padding: 14px 16px;
	border: 2px solid #a32020;
	border-radius: 12px;
	background: #fbeceb;
	color: #5c1414;
	font-size: 16px;
	line-height: 1.5;
}
.epc-agenda .epc-erreurs ul {
	margin: 6px 0 0;
	padding-left: 20px;
}
.epc-agenda fieldset.epc-choix {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.epc-agenda .epc-choix legend {
	margin-bottom: 8px;
}
.epc-agenda label.epc-option {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 56px;
	margin: 0;
	padding: 12px 16px;
	border: 2px solid #ddd2c9;
	border-radius: 12px;
	background: #ffffff;
	cursor: pointer;
}
.epc-agenda label.epc-option:has(input:checked) {
	border-color: var(--epc-accent);
}
.epc-agenda label.epc-option span {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.epc-agenda label.epc-option strong {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}
.epc-agenda label.epc-option--simple {
	min-height: 52px;
	padding: 10px 16px;
}
.epc-agenda label.epc-option--simple span {
	font-size: 17px;
	line-height: 1.4;
}
.epc-agenda label.epc-option small {
	color: var(--epc-texte-3);
	font-size: 15px;
	line-height: 1.4;
}
/* L'état d'un type de chambre, dans son choix : le même mot que sur la carte. */
.epc-agenda label.epc-option small.epc-etat {
	margin-top: 5px;
	font-size: 15px;
}
.epc-agenda label.epc-option small.epc-etat--disponible {
	color: #1f5a30;
}
.epc-agenda label.epc-option small.epc-etat--bientot {
	color: #7a4300;
}
.epc-agenda label.epc-option small.epc-etat--complet {
	color: #7a1f1f;
}
.epc-agenda label.epc-option:has(input:disabled) {
	background: #f6f2ee;
	cursor: default;
}
.epc-agenda label.epc-option:has(input:disabled) strong {
	color: var(--epc-texte-3);
}
.epc-agenda .epc-option input,
.epc-agenda .epc-case input {
	flex: none;
	width: 26px;
	height: 26px;
	margin: 0;
	accent-color: var(--epc-accent);
}
.epc-agenda label.epc-case {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	min-height: 48px;
	margin: 0;
	padding: 11px 0;
	font-size: 17px;
	line-height: 1.45;
	cursor: pointer;
}
.epc-agenda label.epc-case--forte {
	font-weight: 600;
}
.epc-agenda .epc-deuxieme {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 16px;
	border-radius: 12px;
	background: var(--epc-fond-doux);
}
.epc-agenda dl.epc-recap {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 16px;
	border: 1px solid var(--epc-trait);
	border-radius: 12px;
	background: #ffffff;
}
.epc-agenda dl.epc-recap div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.epc-agenda dl.epc-recap dt {
	margin: 0;
	color: var(--epc-texte-3);
	font-size: 15px;
	font-weight: 400;
}
.epc-agenda dl.epc-recap dd {
	margin: 0;
	font-size: 17px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.epc-agenda dl.epc-recap .epc-recap__total {
	flex-direction: row;
	justify-content: space-between;
	padding-top: 12px;
	border-top: 1px solid var(--epc-trait);
	font-weight: 700;
}
.epc-agenda dl.epc-recap .epc-recap__total dt,
.epc-agenda dl.epc-recap .epc-recap__total dd {
	color: var(--epc-texte);
	font-size: 19px;
	font-weight: 700;
}
.epc-agenda .epc-payer {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px 16px;
	border-radius: 12px;
	background: var(--epc-fond-doux);
	font-size: 17px;
	line-height: 1.5;
}
.epc-agenda .epc-qr {
	align-self: center;
	width: min(100%, 260px);
	padding: 12px;
	border-radius: 8px;
	background: #ffffff;
}
.epc-agenda .epc-qr svg {
	display: block;
	width: 100%;
	height: auto;
}
.epc-agenda .epc-payer dl.epc-recap {
	padding: 0;
	border: 0;
	background: none;
}
.epc-agenda .epc-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.epc-agenda button.epc-bouton--plein {
	min-height: 54px;
	border-color: var(--epc-accent);
	background: var(--epc-accent);
	color: #ffffff !important;
	font-size: 18px;
	font-weight: 600;
}
.epc-agenda button.epc-bouton--plein:hover {
	border-color: var(--epc-accent-fonce);
	background: var(--epc-accent-fonce);
}
.epc-agenda button.epc-bouton--danger {
	border: 2px solid #8f1d1d;
	background: #ffffff;
	color: #8f1d1d !important;
	font-size: 17px;
	font-weight: 600;
}
.epc-agenda details.epc-annuler {
	padding: 0 16px;
	border: 1px solid var(--epc-trait);
	border-radius: 12px;
	background: #ffffff;
}
.epc-agenda details.epc-annuler summary {
	min-height: 52px;
	padding: 14px 0;
	font-size: 17px;
	font-weight: 600;
	cursor: pointer;
}
.epc-agenda details.epc-annuler[open] {
	padding-bottom: 16px;
}
/* ----- Mes inscriptions ------------------------------------------------- */
.epc-agenda .epc-espace__titre {
	margin: 34px 0 10px;
	color: var(--epc-titre);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}
.epc-agenda .epc-espace__carte {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 18px;
	padding: 20px;
	border: 1px solid var(--epc-trait);
	border-radius: 14px;
	background: var(--epc-fond-carte);
	scroll-margin-top: 90px;
}
.epc-agenda .epc-espace__carte--annulee,
.epc-agenda .epc-espace__carte--passee {
	background: #faf7f4;
}
.epc-agenda .epc-espace__evenement {
	margin: 0;
	color: var(--epc-titre);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.25;
}
.epc-agenda .epc-espace__quand {
	margin: 0;
	color: var(--epc-texte-2);
	font-size: 16px;
	line-height: 1.45;
}
.epc-agenda .epc-espace__gestes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}
.epc-agenda .epc-espace__gestes:empty {
	display: none;
}
/* ----- Le moment de l'entretien ----------------------------------------- */
.epc-agenda .epc-moments {
	margin: 0 0 18px;
}
.epc-agenda .epc-moments__heures {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
	gap: 10px;
}
.epc-agenda .epc-moment {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
}
.epc-agenda .epc-moment input {
	position: absolute;
	opacity: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	cursor: pointer;
}
.epc-agenda .epc-moment span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 10px;
	border: 1px solid var(--epc-trait);
	border-radius: 10px;
	background: var(--epc-fond-carte);
	color: var(--epc-titre);
	font-size: 17px;
	font-weight: 500;
}
.epc-agenda .epc-moment--actuel {
	grid-column: span 2;
}
.epc-agenda .epc-moment span small {
	margin-left: 8px;
	font-size: 15px;
	font-weight: 400;
}
.epc-agenda .epc-moment input:checked + span {
	border-color: var(--epc-accent);
	background: var(--epc-accent);
	color: #fff;
}
.epc-agenda .epc-moment input:focus-visible + span {
	outline: 3px solid var(--epc-accent);
	outline-offset: 2px;
}
.epc-agenda ul.epc-trouvees {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.epc-agenda ul.epc-trouvees li {
	margin: 0;
	list-style: none;
}
.epc-agenda ul.epc-trouvees a.epc-bouton {
	justify-content: flex-start;
	padding: 12px 16px;
	text-align: left;
}
.epc-agenda ul.epc-trouvees span {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.epc-agenda ul.epc-trouvees small {
	color: var(--epc-texte-3);
	font-size: 15px;
	font-weight: 400;
}

/* ----- À partir de 760 px de conteneur ---------------------------------- */

@container epc (min-width: 760px) {
	.epc-agenda .epc-publics {
		flex-direction: row;
		justify-content: center;
		gap: 0;
		margin-bottom: 28px;
	}
	.epc-agenda a.epc-public {
		min-height: 50px;
		padding: 8px 28px;
		border-radius: 0;
		font-size: 16px;
	}
	.epc-agenda a.epc-public:first-child {
		border-radius: 8px 0 0 8px;
	}
	.epc-agenda a.epc-public:last-child {
		border-radius: 0 8px 8px 0;
	}
	.epc-agenda a.epc-public + a.epc-public {
		margin-left: -1px;
	}
	.epc-agenda .epc-mois {
		margin-top: 18px;
		font-size: 26px;
	}
	.epc-agenda .epc-carte {
		display: grid;
		grid-template-columns: 96px 180px minmax(0, 1fr) 204px;
		min-height: 184px;
		border-radius: 10px;
	}
	.epc-agenda .epc-carte__date {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		padding: 12px 6px;
		background: var(--epc-fond-doux);
		color: #4a2a2a;
		text-align: center;
	}
	.epc-agenda .epc-carte__jour-nom {
		font-size: 14px;
		letter-spacing: 0.04em;
		line-height: 1.2;
		text-transform: uppercase;
	}
	.epc-agenda .epc-carte__jour {
		font-family: var(--epc-sans);
		font-size: 46px;
		font-weight: 300;
		line-height: 1;
	}
	.epc-agenda .epc-carte__titre {
		font-size: 21px;
	}
	.epc-agenda .epc-carte__heure {
		font-size: 14px;
		line-height: 1.3;
	}
	.epc-agenda .epc-carte__photo {
		height: auto;
		min-height: 184px;
	}
	.epc-agenda .epc-carte__quand {
		display: none;
	}
	.epc-agenda .epc-carte__categorie {
		display: block;
	}
	.epc-agenda .epc-carte__corps {
		justify-content: center;
		gap: 7px;
		padding: 18px 22px;
	}
	.epc-agenda .epc-carte__lieu,
	.epc-agenda .epc-carte__resume {
		font-size: 15px;
	}
	.epc-agenda .epc-carte__resume {
		line-height: 1.45;
	}
	.epc-agenda .epc-carte__actions {
		justify-content: center;
		gap: 10px;
		padding: 18px 22px 18px 0;
	}
	.epc-agenda .epc-carte__boutons {
		grid-template-columns: minmax(0, 1fr);
	}
	.epc-agenda .epc-etat {
		font-size: 14px;
		padding: 4px 12px;
	}
	.epc-agenda a.epc-bouton {
		min-height: 46px;
		border-radius: 6px;
		font-size: 15px;
	}
	.epc-agenda a.epc-bouton--plein {
		font-size: 16px;
	}
	.epc-agenda dialog.epc-detail {
		grid-column: 1 / -1;
		padding: 24px 28px 28px;
	}
	.epc-agenda .epc-detail__pied {
		flex-direction: row;
	}
	.epc-agenda .epc-paire {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
	.epc-agenda .epc-titre {
		font-size: 40px;
	}
	.epc-agenda .epc-form .epc-etape,
	.epc-agenda .epc-form > .epc-actions {
		padding: 0;
	}
	.epc-agenda .epc-actions {
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	.epc-agenda .epc-actions .epc-bouton {
		min-width: 220px;
	}
	.epc-agenda dl.epc-recap div {
		display: grid;
		grid-template-columns: 200px minmax(0, 1fr);
		gap: 12px;
	}
}

/* ----- À partir de 1000 px de conteneur : plus d'air ---------------------- */

@container epc (min-width: 1000px) {
	.epc-agenda .epc-carte {
		grid-template-columns: 116px 236px minmax(0, 1fr) 232px;
	}
	.epc-agenda .epc-carte__jour {
		font-size: 52px;
	}
	.epc-agenda .epc-carte__jour-nom {
		letter-spacing: 0.08em;
	}
}

/* La fenêtre ouverte tient à la fenêtre du navigateur, non au conteneur. */
@media (min-width: 760px) {
	.epc-agenda dialog.epc-detail:modal {
		inset: 0;
		width: min(800px, calc(100vw - 48px));
		max-height: min(86dvh, 900px);
		margin: auto;
		padding: 34px 40px 36px;
		border-radius: 12px;
		box-shadow: 0 24px 60px rgba(43, 37, 35, 0.35);
	}
	.epc-agenda dialog.epc-detail:modal .epc-detail__titre {
		font-size: 28px;
	}
	.epc-agenda dialog.epc-detail:modal .epc-detail__pied {
		flex-direction: row;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.epc-agenda dialog.epc-detail:modal {
		animation: epc-monte 180ms ease-out;
	}
	@keyframes epc-monte {
		from {
			opacity: 0;
			transform: translateY(12px);
		}
	}
}
