/* DM Agenda — couleurs et arrondi pilotés par des variables CSS (réglages du plugin), police héritée du thème */
.dm-agenda { --dma-principal: #7a1f2b; --dma-texte: #1f2328; --dma-fond: #fff; --dma-second: #6b7280; --dma-bordure: #e5e7eb; --dma-rayon: 12px; --dma-police: inherit;
  font-family: var(--dma-police); color: var(--dma-texte); line-height: 1.5; box-sizing: border-box; }
.dm-agenda *, .dm-agenda *::before, .dm-agenda *::after { box-sizing: inherit; }
.dm-agenda__titre { margin: 0 0 1em; font-size: 1.35em; }
.dm-agenda__vide { color: var(--dma-second); font-style: italic; margin: 0; }
.dm-agenda__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.dm-agenda--cartes .dm-agenda__liste { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.dm-agenda__item { position: relative; display: flex; flex-direction: column; background: var(--dma-fond); border: 1px solid var(--dma-bordure); border-radius: var(--dma-rayon); overflow: hidden; margin: 0; padding: 0;
  transition: transform .18s ease, box-shadow .18s ease; }
.dm-agenda__item:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0, 0, 0, .08); }
.dm-agenda__date { position: absolute; top: 12px; left: 12px; z-index: 1; display: flex; flex-direction: column; align-items: center; min-width: 58px; padding: 6px 8px; border-radius: calc(var(--dma-rayon) * .7);
  background: var(--dma-principal); color: #fff; text-align: center; line-height: 1.05; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.dm-agenda__jour { font-size: 1.6em; font-weight: 700; }
.dm-agenda__mois { font-size: .72em; text-transform: uppercase; letter-spacing: .08em; opacity: .95; }
.dm-agenda__fin { font-size: .68em; margin-top: 4px; padding-top: 4px; border-top: 1px solid rgba(255, 255, 255, .45); white-space: nowrap; }
.dm-agenda__visuel { flex: 0 0 auto; width: 100%; aspect-ratio: 16 / 9; max-height: 260px; background: var(--dma-bordure); overflow: hidden; }
.dm-agenda__visuel img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
.dm-agenda__item:not(.dm-agenda__item--image) .dm-agenda__corps { padding-left: 90px; min-height: 86px; }
.dm-agenda__corps { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.dm-agenda__nom { margin: 0; font-size: 1.08em; line-height: 1.3; font-weight: 700; text-wrap: balance; }
.dm-agenda__nom a { color: inherit; text-decoration: none; }
.dm-agenda__nom a:hover { color: var(--dma-principal); }
.dm-agenda__quand { margin: 0; color: var(--dma-principal); font-weight: 600; font-size: .95em; }
.dm-agenda__quand::first-letter { text-transform: uppercase; }
.dm-agenda__lieu { margin: 0; color: var(--dma-second); font-size: .92em; }
.dm-agenda__lieu::before { content: "📍 "; }
.dm-agenda__texte { font-size: .93em; color: var(--dma-texte); margin-top: 4px; }
.dm-agenda__texte p { margin: 0 0 .5em; }
.dm-agenda__action { margin: auto 0 0; padding-top: 10px; }
.dm-agenda__bouton { display: inline-block; padding: 8px 16px; border-radius: 999px; background: var(--dma-principal); color: #fff !important; text-decoration: none !important; font-size: .88em; font-weight: 600; border: 1px solid var(--dma-principal); transition: background .15s, color .15s; }
.dm-agenda__bouton:hover { background: transparent; color: var(--dma-principal) !important; }
/* événements passés : plus discrets */
.dm-agenda--passes .dm-agenda__item { opacity: .82; }
.dm-agenda--passes .dm-agenda__date { background: var(--dma-second); }
.dm-agenda--passes .dm-agenda__quand { color: var(--dma-second); }
.dm-agenda--passes .dm-agenda__visuel img { filter: grayscale(.35); }
/* présentation liste compacte */
.dm-agenda--liste .dm-agenda__liste { gap: 10px; }
.dm-agenda--liste .dm-agenda__item { flex-direction: row; align-items: stretch; }
.dm-agenda--liste .dm-agenda__date { position: static; border-radius: 0; justify-content: center; min-width: 72px; box-shadow: none; }
.dm-agenda--liste .dm-agenda__visuel { width: 150px; flex: 0 0 150px; aspect-ratio: auto; }
.dm-agenda--liste .dm-agenda__item:not(.dm-agenda__item--image) .dm-agenda__corps { padding-left: 18px; min-height: 0; }
.dm-agenda--liste .dm-agenda__corps { padding: 12px 16px; }
.dm-agenda--liste .dm-agenda__action { padding-top: 6px; }
@media (max-width: 560px) { .dm-agenda--liste .dm-agenda__visuel { display: none; } }
@media (prefers-reduced-motion: reduce) { .dm-agenda__item { transition: none; } .dm-agenda__item:hover { transform: none; } }

/* 1.1.0 : la liste ne prend jamais les marges/puces des listes du thème (ex. WPBakery : margin-left 20px sur les ul des blocs texte) */
.dm-agenda ul.dm-agenda__liste { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.dm-agenda ul.dm-agenda__liste > li.dm-agenda__item { margin: 0 !important; list-style: none !important; }
.dm-agenda ul.dm-agenda__liste > li.dm-agenda__item::before, .dm-agenda ul.dm-agenda__liste > li.dm-agenda__item::marker { content: none; }
/* 1.1.0 : option « titres en majuscules » (CSS seulement) */
.dm-agenda--majuscules .dm-agenda__nom { text-transform: uppercase; letter-spacing: .02em; }
