/* Agenda by 2BM 1.2.2 — aucune police ni ressource externe. */
.a2bm{--a2bm-primaire:#8C3D96;--a2bm-accent:#F6961B;--a2bm-encre:#1f1a24;--a2bm-gris:#5c5566;--a2bm-trait:#e6e1ea;--a2bm-fond:#fff;--a2bm-fond-affiche:#f4f1f6;--a2bm-rayon:12px;--a2bm-colonnes:3;color:var(--a2bm-encre)}
.a2bm *,.a2bm *::before,.a2bm *::after{box-sizing:border-box}
.a2bm [hidden]{display:none!important}
.a2bm .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Listes */
/* Le nombre de colonnes s'adapte à la largeur disponible dans la page (et pas seulement à l'écran) :
   au plus --a2bm-colonnes, moins si une carte passerait sous --a2bm-min. */
.a2bm-liste{--a2bm-min:240px;display:grid;gap:24px;margin:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(var(--a2bm-min),calc((100% - (var(--a2bm-colonnes) - 1)*24px)/var(--a2bm-colonnes)))),1fr))}
.a2bm-liste--grille,.a2bm-liste--compacte{align-items:start}
.a2bm-liste--liste{grid-template-columns:1fr}
.a2bm-liste--liste .a2bm-carte{flex-direction:row}
.a2bm-liste--liste .a2bm-carte-affiche{flex:0 0 220px}
@media (max-width:640px){.a2bm-liste--liste .a2bm-carte{flex-direction:column}.a2bm-liste--liste .a2bm-carte-affiche{flex-basis:auto}}

/* Carte */
.a2bm-carte{display:flex;flex-direction:column;background:var(--a2bm-fond);border:1px solid var(--a2bm-trait);border-radius:var(--a2bm-rayon);overflow:hidden;transition:box-shadow .2s}
.a2bm-carte:hover{box-shadow:0 6px 24px rgba(31,26,36,.08)}
.a2bm-carte-affiche,.a2bm-prochain-affiche,.a2bm-mini-affiche{position:relative;display:block;overflow:hidden;background:var(--a2bm-fond-affiche)}
/* Chargement progressif : l'espace est réservé au format réel de l'affiche (attributs width/height),
   un reflet animé patiente, puis l'image apparaît en fondu. Sans JavaScript, l'image s'affiche normalement. */
.a2bm-attend{background:linear-gradient(100deg,var(--a2bm-fond-affiche) 30%,#fbfafc 50%,var(--a2bm-fond-affiche) 70%) 0 0/300% 100%;animation:a2bm-attente 1.4s linear infinite}
@keyframes a2bm-attente{to{background-position:-300% 0}}
.a2bm .a2bm-affiche-img{display:block;width:100%;height:auto!important;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none;object-fit:cover;transition:opacity .35s ease}
.a2bm .a2bm-attend .a2bm-affiche-img{opacity:0}
/* Affiche très haute : plafonnée, sans déformation */
.a2bm-carte-affiche .a2bm-affiche-img{max-height:560px;object-fit:contain}
.a2bm-affiche-vide{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--a2bm-gris)}
.a2bm-affiche-vide .a2bm-icone{width:48px;height:48px;opacity:.4}
.a2bm-pastille-date{position:absolute;inset-block-start:12px;inset-inline-start:12px;display:flex;flex-direction:column;align-items:center;min-width:52px;padding:6px 8px;border-radius:8px;background:var(--a2bm-accent);color:var(--a2bm-encre);line-height:1.1;font-weight:700;text-align:center}
.a2bm-jour{font-size:1.4em}
.a2bm-mois{font-size:.75em;text-transform:uppercase;letter-spacing:.04em}
.a2bm-carte-corps{display:flex;flex-direction:column;gap:8px;flex:1;padding:16px}
.a2bm-carte-titre,.a2bm-prochain-titre{margin:0;font-size:1.1em;line-height:1.3}
.a2bm-carte-titre a,.a2bm-prochain-titre a{color:inherit;text-decoration:none}
.a2bm-carte-titre a:hover,.a2bm-prochain-titre a:hover{color:var(--a2bm-primaire);text-decoration:underline}
.a2bm-info{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:.92em;color:var(--a2bm-gris)}
.a2bm-info .a2bm-icone{flex:0 0 auto;margin-block-start:2px;color:var(--a2bm-primaire)}
.a2bm-carte-extrait{margin:0;font-size:.92em}
.a2bm-carte-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 12px;margin-block-start:auto;padding-block-start:8px;border-block-start:1px solid var(--a2bm-trait)}
.a2bm-carte-liens{display:flex;flex-wrap:wrap;gap:8px;margin:0}

/* Badges */
.a2bm-badge{align-self:flex-start;display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78em;font-weight:700;line-height:1.6;background:#efe6f1;color:#5e2865}
.a2bm-badge--en-cours{background:#e3f4e8;color:#1d6a35}
.a2bm-badge--reporte{background:#fff1dc;color:#7a4a00}
.a2bm-badge--annule{background:#fde7e7;color:#9b1c1c}
.a2bm-badge--termine{background:#ececec;color:#4a4a4a}

/* Boutons — protégés contre les styles globaux du thème et du kit Elementor */
.a2bm a.a2bm-btn,.a2bm button.a2bm-btn,.a2bm button.a2bm-jaime-btn,.a2bm .a2bm-partage-lien{box-sizing:border-box;width:auto;min-width:0;min-height:0;margin:0;box-shadow:none;text-transform:none;letter-spacing:normal;text-shadow:none;font-family:inherit;text-decoration:none}
.a2bm a.a2bm-btn,.a2bm button.a2bm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px!important;border:1px solid var(--a2bm-primaire)!important;border-radius:999px!important;background:#fff!important;color:var(--a2bm-primaire)!important;font-size:.9em!important;font-weight:600;line-height:1.3!important}
.a2bm a.a2bm-btn:hover,.a2bm a.a2bm-btn:focus,.a2bm button.a2bm-btn:hover{background:var(--a2bm-primaire)!important;color:#fff!important}
.a2bm a.a2bm-btn--primaire,.a2bm a.a2bm-btn--primaire:visited,.a2bm button.a2bm-btn--primaire{background:var(--a2bm-primaire)!important;color:#fff!important}
.a2bm a.a2bm-btn--primaire:hover,.a2bm a.a2bm-btn--primaire:focus{background:var(--a2bm-primaire-fonce,#6f2f78)!important;color:#fff!important}
.a2bm-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--a2bm-primaire);border-radius:999px;background:transparent;color:var(--a2bm-primaire);font:inherit;font-size:.9em;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer}
.a2bm-btn:hover{background:var(--a2bm-primaire);color:#fff}
.a2bm-btn--primaire{background:var(--a2bm-primaire);color:#fff}
.a2bm-btn--primaire:hover{filter:brightness(.9)}
.a2bm button:focus-visible,.a2bm a:focus-visible,.a2bm input:focus-visible,.a2bm select:focus-visible,.a2bm textarea:focus-visible{outline:3px solid var(--a2bm-accent);outline-offset:2px}

/* J'aime */
.a2bm-jaime{display:inline-flex;align-items:center;gap:6px}
.a2bm button.a2bm-jaime-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px!important;border:1px solid var(--a2bm-trait)!important;border-radius:999px!important;background:#fff!important;color:var(--a2bm-gris)!important;font-size:.85em!important;font-weight:600;line-height:1.3!important;cursor:pointer}
.a2bm button.a2bm-jaime-btn:hover:not(:disabled){border-color:var(--a2bm-primaire)!important;color:var(--a2bm-primaire)!important}
.a2bm-jaime-btn .a2bm-icone{fill:none;stroke:currentColor;stroke-width:2}
.a2bm button.a2bm-jaime-btn[aria-pressed="true"]{border-color:var(--a2bm-primaire)!important;color:var(--a2bm-primaire)!important;background:#f6eff7!important}
.a2bm-jaime-btn[aria-pressed="true"] .a2bm-icone{fill:currentColor}
.a2bm-jaime-btn:disabled{cursor:not-allowed;opacity:.6}
.a2bm-jaime-total{font-size:.88em;font-weight:700;color:var(--a2bm-gris)}

/* Partage */
.a2bm-partage{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.a2bm-icone{flex:0 0 auto}
.a2bm-partage-liste{display:flex;gap:4px;margin:0;padding:0;list-style:none}
.a2bm .a2bm-partage-lien{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px!important;height:34px!important;padding:0!important;border:1px solid var(--a2bm-trait)!important;border-radius:50%!important;background:#fff!important;color:var(--a2bm-gris)!important;cursor:pointer;line-height:1!important}
.a2bm .a2bm-partage-lien:hover,.a2bm .a2bm-partage-lien:focus{color:var(--a2bm-primaire)!important;border-color:var(--a2bm-primaire)!important}
.a2bm-retour:not(:empty){position:absolute;inset-block-end:calc(100% + 6px);inset-inline-end:0;padding:2px 8px;border-radius:6px;background:var(--a2bm-encre);color:#fff;font-size:.75em;white-space:nowrap}
.a2bm-partage.a2bm-natif .a2bm-partage-liste{display:none}

/* État terminé (grisé) */
.a2bm-carte--termine .a2bm-affiche-img,.a2bm-fiche--termine .a2bm-affiche-img{filter:grayscale(1);opacity:.6}
.a2bm-carte--termine .a2bm-pastille-date{background:#d9d6dc}
.a2bm-carte--termine{background:#faf9fb}
.a2bm-carte--annule .a2bm-carte-titre{text-decoration:line-through;text-decoration-thickness:1px}

/* Prochain */
.a2bm-prochain{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:32px;align-items:center;padding:24px;border:1px solid var(--a2bm-trait);border-radius:var(--a2bm-rayon);background:var(--a2bm-fond)}
.a2bm-prochain-corps{display:flex;flex-direction:column;gap:10px}
.a2bm-prochain-titre{font-size:1.5em}
.a2bm-surtitre{margin:0;color:var(--a2bm-primaire);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8em}
@media (max-width:768px){.a2bm-prochain{grid-template-columns:1fr;padding:16px}}

/* Fiche */
.a2bm-conteneur{max-width:1140px;margin:0 auto;padding:32px 16px}
.a2bm-fiche-grille{display:grid;grid-template-columns:minmax(0,480px) 1fr;gap:40px;align-items:start}
@media (max-width:768px){.a2bm-fiche-grille{grid-template-columns:1fr;gap:24px}}
.a2bm-fiche-affiche{margin:0}
.a2bm-fiche-affiche .a2bm-affiche-img{border-radius:var(--a2bm-rayon);max-height:720px;object-fit:contain;background:var(--a2bm-fond-affiche)}
.a2bm-fiche-affiche > a{display:block;border-radius:var(--a2bm-rayon);overflow:hidden}
.a2bm-fiche-affiche figcaption{margin-block-start:8px;font-size:.85em}
.a2bm-fiche-infos{display:flex;flex-direction:column;gap:16px}
.a2bm-fiche-titre{margin:0;line-height:1.2}
.a2bm-pratique{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0}
.a2bm-pratique dt{font-weight:700;color:var(--a2bm-gris)}
.a2bm-pratique dd{margin:0}
.a2bm-fiche-cta{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.a2bm-fiche-details{margin-block-start:40px;max-width:780px}
.a2bm-retour-agenda{margin-block-start:32px}

/* Archives */
.a2bm-filtre-annees ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.a2bm-filtre-annees a{display:inline-block;padding:4px 14px;border:1px solid var(--a2bm-trait);border-radius:999px;color:inherit;text-decoration:none}
.a2bm-filtre-annees a[aria-current="true"]{background:var(--a2bm-primaire);border-color:var(--a2bm-primaire);color:#fff}
.a2bm-pagination{display:flex;flex-wrap:wrap;gap:6px;margin-block-start:24px}
.a2bm-pagination .page-numbers{padding:4px 12px;border:1px solid var(--a2bm-trait);border-radius:8px;text-decoration:none;color:inherit}
.a2bm-pagination .current{background:var(--a2bm-primaire);color:#fff;border-color:var(--a2bm-primaire)}
.a2bm-lien-archives,.a2bm-lien-agenda{margin-block-start:24px;text-align:center}
.a2bm-page-agenda .a2bm-prochain{margin-block-end:32px}
.a2bm-vide{padding:24px;border:1px dashed var(--a2bm-trait);border-radius:var(--a2bm-rayon);text-align:center;color:var(--a2bm-gris)}
.a2bm-mention{margin-block-start:12px;font-size:.75em;text-align:end;color:var(--a2bm-gris)}
.a2bm-mention a{color:inherit}

/* Formulaire de proposition */
.a2bm-proposer{max-width:780px}
.a2bm-proposer fieldset{margin:0 0 24px;padding:16px;border:1px solid var(--a2bm-trait);border-radius:var(--a2bm-rayon)}
.a2bm-proposer legend{padding:0 8px;font-weight:700;color:var(--a2bm-primaire)}
.a2bm-proposer input[type=email],.a2bm-proposer input[type=tel]{width:100%;padding:10px 12px;border:1px solid #cfc8d6;border-radius:8px;font:inherit;background:#fff}
.a2bm-bouton-soumettre{margin-block-start:16px;text-align:center}
.a2bm-proposer label{display:block;margin-block-end:4px;font-weight:600}
.a2bm-proposer input[type=text],.a2bm-proposer input[type=url],.a2bm-proposer input[type=date],.a2bm-proposer input[type=time],.a2bm-proposer input[type=file],.a2bm-proposer select,.a2bm-proposer textarea{width:100%;padding:10px 12px;border:1px solid #cfc8d6;border-radius:8px;font:inherit;background:#fff}
.a2bm-proposer .a2bm-case{font-weight:400}
.a2bm-proposer .a2bm-case input{margin-inline-end:6px}
.a2bm-grille-champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
@media (max-width:640px){.a2bm-grille-champs{grid-template-columns:1fr}}
.a2bm-hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.a2bm-note{font-size:.88em;color:var(--a2bm-gris)}
.a2bm-message{padding:12px 16px;border-radius:8px;margin-block-end:16px;border-inline-start:4px solid}
.a2bm-message p{margin:0}
.a2bm-message--succes{background:#e8f6ec;border-color:#1d6a35}
.a2bm-message--erreur{background:#fde7e7;border-color:#9b1c1c}
.a2bm-message--info{background:#f4eef6;border-color:var(--a2bm-primaire)}
.a2bm-mes-propositions{margin-block-start:40px}
.a2bm-mes-propositions table{width:100%;border-collapse:collapse}
.a2bm-mes-propositions th,.a2bm-mes-propositions td{padding:8px;border-block-end:1px solid var(--a2bm-trait);text-align:start}

/* Vue compacte (accueil) : miniature à gauche, texte et réactions à droite */
.a2bm-liste--compacte{--a2bm-min:280px;row-gap:16px}
.a2bm-mini{display:flex;gap:16px;align-items:flex-start;padding:12px;background:var(--a2bm-fond);border:1px solid var(--a2bm-trait);border-radius:var(--a2bm-rayon)}
.a2bm-mini-affiche{flex:0 0 112px;width:112px;border-radius:8px}
.a2bm .a2bm-mini-affiche .a2bm-affiche-img{max-height:150px;object-fit:cover;object-position:top}
.a2bm-mini-corps{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.a2bm-mini-titre{margin:0;font-size:1em;line-height:1.3}
.a2bm-mini-titre a{color:inherit;text-decoration:none}
.a2bm-mini-titre a:hover{color:var(--a2bm-primaire);text-decoration:underline}
.a2bm-mini-date{margin:0;font-size:.8em;font-weight:600;color:var(--a2bm-primaire)}
.a2bm-mini-extrait{margin:0;font-size:.85em;color:var(--a2bm-gris);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.a2bm-mini .a2bm-carte-actions{padding-block-start:6px;margin-block-start:2px}
.a2bm-mini .a2bm-partage-lien{width:30px!important;height:30px!important}
.a2bm-mini .a2bm-partage-lien .a2bm-icone{width:15px;height:15px}
.a2bm-mini .a2bm-badge{font-size:.7em}
.a2bm-mini.a2bm-carte--termine{background:#faf9fb}
@media (max-width:400px){.a2bm-mini-affiche{flex-basis:88px;width:88px}}

@media (prefers-reduced-motion:reduce){.a2bm *{transition:none!important;animation:none!important}}
