/* Shared event preview and archive, using the site's existing CMCI palette. */
.agenda-main { padding: 8.5rem 0 4rem; }
.agenda-back, .agenda-breadcrumb { font-size: .9rem; color: var(--text-muted); }
.agenda-back { text-decoration: underline; text-underline-offset: 4px; }
.agenda-intro { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin: 2rem 0; }
.agenda-intro .eyebrow { margin-bottom: .8rem; }
.agenda-intro h1 { font-size: clamp(2.5rem, 5vw, 4.3rem); letter-spacing: -.055em; margin-bottom: 1rem; }
.agenda-intro h1 span { color: var(--secondary); }
.agenda-intro p:not(.eyebrow) { color: var(--text-muted); font-size: 1.1rem; }
.agenda-weekly { max-width: 280px; border-left: 2px solid var(--secondary); padding-left: 1rem; color: var(--text-muted); font-size: .9rem; }
.agenda-weekly strong { display: block; color: var(--primary); margin-top: .35rem; text-decoration: underline; text-underline-offset: 4px; }
.agenda-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; margin-bottom: 2rem; border-block: 1px solid var(--glass-border); }
.agenda-filters { display: flex; gap: .5rem; flex-wrap: wrap; }
.agenda-filters button { display: flex; align-items: center; gap: .55rem; border: 1px solid var(--glass-border); border-radius: 100px; padding: .65rem 1.1rem; min-height: 46px; color: var(--primary); background: white; font-size: .95rem; font-weight: 600; cursor: pointer; }
.agenda-filters button[aria-pressed="true"] { background: var(--primary); border-color: var(--primary); color: white; }
.agenda-filters button:hover { border-color: var(--cobalt); }
.agenda-filters button span { font-size: .85rem; min-width: 1.4rem; text-align: center; border-radius: 50px; background: #122b5310; }
.agenda-filters button[aria-pressed="true"] span { background: #ffffff25; }
.agenda-contact { color: var(--text-muted); font-size: .95rem; }
.agenda-contact a { color: var(--primary); font-weight: 600; white-space: nowrap; }
.agenda-group + .agenda-group { margin-top: 3rem; }
.agenda-group-heading { margin-bottom: 1.25rem; }
.agenda-group-heading h2 { font-size: 1.6rem; letter-spacing: -.03em; }
.agenda-group-heading h2 span { font-size: .9rem; font-weight: 500; color: var(--text-muted); margin-left: .4rem; }
.agenda-group-heading p { color: var(--text-muted); margin-top: .4rem; }
.agenda-list { display: grid; gap: 1.5rem; }
.agenda-card { display: grid; grid-template-columns: 255px minmax(0, 1fr); border: 1px solid var(--glass-border); border-radius: 20px; overflow: hidden; background: white; scroll-margin-top: 110px; }
.agenda-poster { display: flex; align-items: center; justify-content: center; background: #eaf0f7; padding: 1.25rem; }
.agenda-poster img { width: 100%; height: auto; box-shadow: 0 8px 25px #122b5312; }
.agenda-copy { padding: 1.75rem 2rem; }
.agenda-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .8rem; }
.agenda-category { color: var(--text-muted); font-size: .9rem; font-weight: 500; }
.agenda-badge { display: inline-block; color: var(--cobalt); background: #edf2ff; font-weight: 600; font-size: .85rem; padding: .25rem .75rem; border-radius: 50px; }
[data-period="past"] .agenda-badge { color: var(--text-muted); background: var(--bg-alt); }
.agenda-date { color: var(--cobalt); font-size: .95rem; font-weight: 600; margin-bottom: .5rem; }
.agenda-date:first-letter { text-transform: uppercase; }
.agenda-copy h3, .agenda-preview-card h3 { font-size: 1.75rem; letter-spacing: -.03em; margin-bottom: .85rem; }
.agenda-copy > p:not(.agenda-date) { margin-bottom: 1rem; }
.agenda-program { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem 1.5rem; margin: 1rem 0; list-style: disc; padding-left: 1.1rem; }
.agenda-program li::marker { color: var(--secondary); }
.agenda-place { font-weight: 600; color: var(--primary); }
.agenda-access { color: var(--text-muted); font-size: .95rem; }
.agenda-reservation { padding: .7rem 1rem; border-left: 3px solid var(--cobalt); background: #f1f4fc; border-radius: 0 8px 8px 0; }
.agenda-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 1.4rem; }
.agenda-affiche, .agenda-details { font-weight: 600; color: var(--primary); text-decoration: underline; text-underline-offset: 5px; }
.agenda-empty { padding: 2rem; border: 1px dashed #c4cddc; border-radius: 16px; background: #f1f4f9; color: var(--text-muted); }
.agenda-empty a { display: inline-block; margin-top: .75rem; color: var(--cobalt); text-decoration: underline; }
.agenda-note { color: var(--text-muted); font-size: .9rem; margin-top: 2rem; }
.agenda-preview { background: var(--bg-alt); }
.agenda-preview-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.agenda-preview-heading .eyebrow { margin-bottom: .7rem; }
.agenda-preview-heading h2 { font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.045em; }
.agenda-preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.agenda-preview-card { display: grid; grid-template-columns: 145px minmax(0, 1fr); overflow: hidden; border-radius: 18px; border: 1px solid var(--glass-border); background: white; }
.agenda-preview-image { padding: 1rem; display: flex; align-items: center; background: #e9eef6; }
.agenda-preview-image img { width: 100%; height: auto; }
.agenda-preview-card > div { padding: 1.4rem; }
.agenda-preview-card h3 { font-size: 1.4rem; }
.agenda-preview-card .agenda-date { margin-top: .7rem; font-size: .85rem; }
.agenda-preview-card p:not(.agenda-date) { color: var(--text-muted); margin-bottom: 1rem; font-size: .95rem; }
.agenda-details { font-size: .95rem; }
@media (max-width: 1000px) {
    .agenda-preview-grid { grid-template-columns: 1fr; }
    .agenda-card { grid-template-columns: 220px minmax(0, 1fr); }
    .agenda-program { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .agenda-main { padding-top: 7rem; }
    .agenda-intro { align-items: start; flex-direction: column; gap: 1.5rem; }
    .agenda-weekly { max-width: none; }
    .agenda-toolbar { align-items: start; flex-direction: column; }
    .agenda-filters { gap: .4rem; }
    .agenda-filters button { padding: .6rem .8rem; }
    .agenda-card { grid-template-columns: 1fr; }
    .agenda-poster img { width: auto; max-height: 360px; object-fit: contain; }
    .agenda-copy { padding: 1.5rem; }
    .agenda-preview-heading { align-items: start; flex-direction: column; }
    .agenda-preview-card { grid-template-columns: 110px minmax(0, 1fr); }
    .agenda-preview-image { padding: .65rem; }
    .agenda-preview-card > div { padding: 1rem; }
}
@media (max-width: 420px) {
    .agenda-preview-card { grid-template-columns: 1fr; }
    .agenda-preview-image img { max-height: 250px; object-fit: contain; }
}
