/* Séances du conseil municipal — liste et widget « prochaine séance ».
   Variables du thème (style.css) avec repli, rayon unique --r. */

.cm-liste { max-width: 48rem; }

.cm-bloc { margin: 0 0 2.5rem; }
.cm-bloc__titre {
	display: flex; align-items: baseline; gap: .75rem;
	margin: 0 0 .75rem; padding-bottom: .4rem;
	border-bottom: 2px solid var(--maures, #2f4a5c);
}
.cm-compte { font-size: .875rem; font-weight: 400; color: var(--maures-deep, #1f3442); }

.cm-items { list-style: none; margin: 0; padding: 0; }
.cm-item {
	padding: .25rem 0 .5rem;
	border-bottom: 1px solid rgba(0, 0, 0, .12);
}
.cm-item__titre { margin: 0; font-size: 1.0625rem; line-height: 1.4; }
.cm-item__titre a {
	display: inline-flex; flex-wrap: wrap; align-items: center; column-gap: .3em;
	min-height: var(--tap, 48px); padding: .25rem 0;
	color: var(--maures-deep, #1f3442); text-decoration: underline; text-underline-offset: .2em;
}
.cm-item__titre a:hover { text-decoration-thickness: 2px; }
.cm-fichier { font-size: .875em; font-weight: 400; white-space: nowrap; }
.cm-item__meta, .cm-item__precision { margin: 0 0 .25rem; font-size: .9375rem; }
.cm-item__meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.cm-item__docs { list-style: none; margin: -.25rem 0 .25rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0 1.25rem; font-size: .9375rem; }
.cm-item__docs a { display: inline-flex; align-items: center; min-height: var(--tap, 48px); }

.cm-bloc--avenir .cm-items { border-left: 4px solid var(--violet, #5b3f8c); padding-left: 1rem; }

.cm-badge {
	display: inline-block; padding: .1rem .5rem;
	border-radius: var(--r, 8px);
	background: var(--violet-tint, #efe9f7); color: var(--violet-deep, #3d2a60);
	font-size: .8125rem; font-weight: 600; line-height: 1.5;
}

.cm-annees ul { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.cm-annees a {
	display: inline-flex; align-items: center; min-height: var(--tap, 48px); padding: 0 1rem;
	border: 1px solid var(--maures, #2f4a5c); border-radius: var(--r, 8px);
	color: var(--maures-deep, #1f3442); text-decoration: none; font-weight: 600;
}
.cm-annees a:hover { background: var(--maures, #2f4a5c); color: #fff; }

.cm-note { font-size: .9375rem; }

/* Widget « Prochain conseil municipal » */
.cm-prochaine {
	padding: 1rem 1.25rem;
	border: 1px solid rgba(0, 0, 0, .12); border-left: 4px solid var(--violet, #5b3f8c);
	border-radius: var(--r, 8px);
	background: #fff;
}
.cm-prochaine__titre { margin: 0 0 .5rem; font-size: 1.125rem; }
.cm-prochaine__date { margin: 0; font-size: 1.25rem; font-weight: 700; color: var(--maures-deep, #1f3442); }
.cm-prochaine__infos, .cm-prochaine__precision { margin: .25rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.cm-prochaine__liens { margin: .5rem 0 0; display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.cm-prochaine__liens a { display: inline-flex; align-items: center; min-height: var(--tap, 48px); }
.cm-prochaine__avis { font-weight: 600; }

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .cm-prochaine { background: transparent; }
}
