/* ==========================================================================
   PRISME — Calendrier & Newsroom. Repose sur les tokens de prisme-core.css.
   ========================================================================== */

.prisme-evt-wrap { font-family: var(--prisme-font); }

.prisme-evt-annonces-groupe {
	margin-top: var(--prisme-e5, 32px);
}
.prisme-evt-annonces-groupe h3 {
	margin-bottom: var(--prisme-e3, 16px);
}
.prisme-evt-annonces-groupe--developpement h3::before {
	content: "⚙";
	margin-right: 8px;
}

.prisme-evt-filtres {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}
.prisme-evt-filtre {
	min-height: 44px; /* zone cliquable confortable */
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: var(--prisme-radius-pill, 999px);
	border: 1px solid var(--prisme-bordure, #34333B);
	color: var(--prisme-texte-att, #A9A9B4);
	text-decoration: none;
}
.prisme-evt-filtre:hover { border-color: var(--prisme-bleu, #2F8FE0); }
.prisme-evt-filtre.is-active {
	background: var(--prisme-action-fond, #FFFFFF);
	color: var(--prisme-action-texte, #17171A);
	border-color: var(--prisme-action-fond, #FFFFFF);
}

.prisme-evt-flux {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-bottom: 24px;
}
.prisme-evt-rss {
	font-size: 14px;
	font-weight: 600;
	color: var(--prisme-bleu, #2F8FE0);
	text-decoration: none;
}
.prisme-evt-rss:hover { text-decoration: underline; }
.prisme-evt-rss-copier {
	font-family: var(--prisme-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--prisme-texte, #FFFFFF);
	background: transparent;
	border: 1px solid var(--prisme-bordure, #34333B);
	border-radius: var(--prisme-radius-pill, 999px);
	padding: 4px 16px;
	cursor: pointer;
}
.prisme-evt-rss-copier:hover { border-color: var(--prisme-bleu, #2F8FE0); }
.prisme-evt-rss-aide {
	flex-basis: 100%;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--prisme-texte-att, #A9A9B4);
}

.prisme-evt-vide { color: var(--prisme-texte-att, #A9A9B4); }

.prisme-evt-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 16px;
}

.prisme-evt-carte {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
}
.prisme-evt-carte:hover { border-color: var(--prisme-bleu, #2F8FE0); }

.prisme-evt-carte-lien {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
	color: var(--prisme-texte, #FFFFFF);
}

.prisme-evt-carte-externe {
	margin-top: 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--prisme-bleu, #2F8FE0);
	text-decoration: none;
	align-self: flex-start;
}
.prisme-evt-carte-externe:hover { text-decoration: underline; }

.prisme-evt-date {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--prisme-bleu, #2F8FE0);
}
.prisme-evt-titre { font-size: 17px; margin: 0; }
.prisme-evt-lieu { font-size: 14px; color: var(--prisme-texte-att, #A9A9B4); }

.prisme-evt-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.prisme-evt-badge {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
	color: var(--prisme-texte-att, #A9A9B4);
	border: 1px solid var(--prisme-bordure, #34333B);
	border-radius: var(--prisme-radius-pill, 999px);
	padding: 3px 8px;
}

.prisme-evt-detail {
	max-width: 640px;
	margin: 24px auto 48px;
	padding: 32px 32px;
}
.prisme-evt-statut {
	display: inline-block;
	margin-left: 8px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--prisme-texte-att, #A9A9B4);
	border: 1px solid var(--prisme-bordure, #34333B);
	border-radius: var(--prisme-radius-pill, 999px);
	padding: 3px 8px;
}
.prisme-evt-detail h1 { font-size: 26px; margin: 12px 0 8px; color: var(--prisme-texte, #FFFFFF); }
.prisme-evt-lieu-detail { font-size: 15px; color: var(--prisme-texte-att, #A9A9B4); margin: 0 0 12px; }
.prisme-evt-contenu { font-size: 16px; line-height: 1.7; color: var(--prisme-texte-att, #A9A9B4); margin: 24px 0; }
.prisme-evt-lien-detail { margin-bottom: 24px; }
.prisme-evt-retour {
	display: inline-block;
	font-size: 14px;
	color: var(--prisme-texte-att, #A9A9B4);
	text-decoration: none;
	border-top: 1px solid var(--prisme-bordure, #34333B);
	padding-top: 16px;
	width: 100%;
}
.prisme-evt-retour:hover { color: var(--prisme-texte, #FFFFFF); }

/* Responsive — jeu de seuils unique du projet : 480 / 640 / 768 / 1024 (mobile d'abord, 320 px minimum).
   Ajouté en fin de feuille : il complète les règles ci-dessus sans les réécrire. */
@media (max-width: 768px) { .prisme-evt-detail { padding: 24px; } }
@media (max-width: 640px) { .prisme-evt-detail { padding: 24px 16px; } }
.prisme-evt-retour { display: inline-flex; align-items: center; min-height: 44px; }
.prisme-evt-rss-copier { min-height: 44px; }

/* Agenda à ajouter à son calendrier (abonnement iCalendar) : bloc au-dessus de la liste, boutons ≥ 44 px. */
.prisme-evt-agenda { margin: 0 0 32px; padding: 24px; text-align: left; }
.prisme-evt-agenda-titre { margin: 0 0 8px; font-size: var(--prisme-t-l, 1.375rem); font-weight: 600; color: var(--prisme-texte, #FFFFFF); }
.prisme-evt-agenda-texte { margin: 0 0 16px; max-width: 640px; font-size: var(--prisme-t-s, 1rem); line-height: 1.6; color: var(--prisme-texte-att, #A9A9B4); }
.prisme-evt-agenda-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 16px; }
.prisme-evt-agenda-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	font-family: var(--prisme-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--prisme-texte, #FFFFFF);
	text-decoration: none;
	background: transparent;
	border: 1px solid var(--prisme-bordure, #34333B);
	border-radius: var(--prisme-radius-pill, 999px);
	cursor: pointer;
}
.prisme-evt-agenda-bouton:hover, .prisme-evt-agenda-bouton:focus-visible { border-color: var(--prisme-texte, #FFFFFF); }
.prisme-evt-agenda-aide { margin: 0; max-width: 640px; font-size: var(--prisme-t-xs, 0.875rem); line-height: 1.6; color: var(--prisme-texte-att, #A9A9B4); }
.prisme-evt-agenda-un { margin: 0 0 24px; }
@media (max-width: 640px) {
	.prisme-evt-agenda { padding: 24px 16px; }
	.prisme-evt-agenda-actions > * { width: 100%; }
}

/* ---- Cartes « profondeur douce » (1.15.0) ---- */
.prisme-evt-carte { transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
.prisme-evt-carte:hover, .prisme-evt-carte:focus-within { transform: translateY(-2px); border-color: var(--prisme-texte-att, #A9A9B4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), var(--prisme-ombre-survol, none); }
.prisme-evt-filtre, .prisme-evt-rss-copier, .prisme-evt-agenda-bouton { min-height: 44px; }
@media (prefers-reduced-motion: reduce) { .prisme-evt-carte { transition: none; } .prisme-evt-carte:hover { transform: none; } }

/* Grand écran (ordinateur, iPad en paysage) : la page profite de la largeur disponible */
@media (min-width: 1024px) {
	.prisme-evt-detail { max-width: 840px; }
}

/* Fiche d'un événement en cartes (bento, 1.19.0) */
.prisme-evt-detail-grille { max-width: 840px; margin: 24px auto 48px; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.prisme-evt-detail-grille > .prisme-evt-detail { margin: 0; max-width: none; }
.prisme-evt-detail-carte { padding: 24px; }
.prisme-evt-detail-actions .prisme-btn-pill { margin-bottom: 16px; }
@media (max-width: 640px) { .prisme-evt-detail-carte { padding: 16px; } }
@media (min-width: 1024px) { .prisme-evt-detail-grille { max-width: 1100px; } }

/* Aide à l'abonnement (1.28.0) : texte littéral, repliable */
.prisme-evt-agenda-aide-details { margin: 16px 0 0; max-width: 640px; font-size: var(--prisme-t-xs, 0.875rem); line-height: 1.6; color: var(--prisme-texte-att, #A9A9B4); }
.prisme-evt-agenda-aide-details summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--prisme-texte, #FFFFFF); font-weight: 600; }
.prisme-evt-agenda-aide-details ul { margin: 8px 0; padding-left: 24px; }
.prisme-evt-agenda-aide-details li { margin: 0 0 8px; }
.prisme-evt-agenda-aide-details p { margin: 8px 0; }
.prisme-evt-agenda-aide-details code { font-size: inherit; overflow-wrap: anywhere; }

/* Calendrier plus lisible (1.30.0) : l'essentiel d'abord */
.prisme-evt-compte { margin: 0 0 var(--prisme-e3, 16px); font-size: var(--prisme-t-s, 1rem); color: var(--prisme-texte-att, #A9A9B4); }
.prisme-evt-statut--cours { margin: 0 8px 0 0; color: var(--prisme-texte, #FFFFFF); border-color: var(--prisme-texte, #FFFFFF); font-weight: 600; }
.prisme-evt-vers-passe { margin: var(--prisme-e5, 32px) 0 0; }
.prisme-evt-wrap > .prisme-evt-agenda { margin-top: var(--prisme-e6, 48px); }

/* Bouton Google Actualités Newsroom */
.prisme-btn-google-news {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #ffffff;
	color: #1a73e8;
	border: 1px solid #dadce0;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 9999px;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.prisme-btn-google-news:hover {
	background: #f8fafd;
	border-color: #1a73e8;
	color: #174ea6;
	box-shadow: 0 1px 3px rgba(60,64,67,0.15);
}
.prisme-evt-flux {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
