/* ====================================================================
   A Petits Mots — Dates (widget) — charte Isabelle Bourguétou
   ==================================================================== */
.apm-dates{--bg:#17110D;--card:#1E1711;--text:#F2E7D6;--muted:#A4917E;--line:#3C322A;--accent:#E2682B;
  font-family:'Hanken Grotesk',system-ui,sans-serif;color:var(--text);background:var(--bg);
  border-radius:16px;padding:22px 22px 24px;width:100%;max-width:100%;margin:0;line-height:1.5}
.apm-dates[data-width="contained"]{max-width:920px;margin:0 auto}
.apm-dates[data-theme="light"]{--bg:#FAF7F2;--card:#fff;--text:#2A2017;--muted:#8A7C6D;--line:#E8DFD0;--accent:#C2542A}
.apm-dates *{box-sizing:border-box}

.apm-d-title{font-family:'Fraunces',serif;font-weight:500;font-size:1.5rem;margin:0 0 16px;letter-spacing:-.01em;color:var(--title,var(--text))}
.apm-d-empty{color:var(--muted);padding:14px 2px}

/* filtres */
.apm-d-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.apm-d-chip{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text);
  border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:.15s}
.apm-d-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--c,#bbb)}
.apm-d-chip:hover{border-color:var(--c,var(--accent))}
.apm-d-chip.is-on{background:var(--c,#444);border-color:transparent;color:#fff}
.apm-dates[data-theme="light"] .apm-d-chip.is-on{color:#fff}
.apm-d-chip.is-on .dot{background:rgba(255,255,255,.85)}

/* grille */
.apm-d-list{display:grid;grid-template-columns:1fr;gap:10px}
.apm-dates[data-cols="2"] .apm-d-list{grid-template-columns:1fr 1fr}
@media(max-width:620px){.apm-dates[data-cols="2"] .apm-d-list{grid-template-columns:1fr}}

/* carte cliquable */
.apm-d-card{appearance:none;text-align:left;width:100%;cursor:pointer;color:inherit;font:inherit;
  display:grid;grid-template-columns:50px 1fr auto;gap:13px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-left:3px solid var(--liseret,var(--c,var(--accent)));
  border-radius:12px;padding:12px 14px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.apm-d-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -18px rgba(0,0,0,.55);border-color:var(--liseret,var(--c,var(--accent)))}
.apm-d-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.apm-d-date{text-align:center;line-height:1;font-family:'Fraunces',serif}
.apm-d-date .d{display:block;font-size:1.35rem;font-weight:600}
.apm-d-date .m{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;color:var(--muted);margin-top:3px;font-family:'Hanken Grotesk',sans-serif}
.apm-d-date .r{display:block;font-size:.56rem;color:var(--muted);margin-top:2px;font-family:'Hanken Grotesk',sans-serif}
.apm-d-body{min-width:0}
.apm-d-proj{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--liseret,var(--c,var(--accent)))}
.apm-d-h{display:block;font-family:'Fraunces',serif;font-weight:500;font-size:1.08rem;margin-top:2px}
.apm-d-meta{display:block;font-size:.83rem;color:var(--muted);margin-top:2px}
.apm-d-meta b{color:var(--text);font-weight:600}
.apm-d-tags{margin-top:5px;display:inline-flex;gap:6px;flex-wrap:wrap}
.apm-d-tag{font-size:.64rem;font-weight:700;border-radius:5px;padding:2px 6px}
.apm-d-tag.tent{background:rgba(233,169,62,.18);color:#C98A1E}
.apm-d-tag.cancel{background:rgba(194,65,90,.18);color:#C2415A}
.apm-d-card.is-cancel .apm-d-h{text-decoration:line-through;opacity:.7}
.apm-d-card.is-cancel{opacity:.74}
.apm-d-go{color:var(--muted);font-size:1.3rem;opacity:.5;transition:transform .18s,opacity .18s}
.apm-d-card:hover .apm-d-go{opacity:1;transform:translateX(2px);color:var(--c,var(--accent))}

/* modale désactivée : liste simple, non cliquable */
.apm-dates[data-modal="0"] .apm-d-card{cursor:default;grid-template-columns:50px 1fr}
.apm-dates[data-modal="0"] .apm-d-card:hover{transform:none;box-shadow:none;border-color:var(--line);border-left-color:var(--c,var(--accent))}

/* afficher plus */
.apm-d-more{display:block;margin:18px auto 0;background:transparent;border:1px solid var(--line);color:var(--text);
  border-radius:999px;padding:9px 22px;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:.15s}
.apm-d-more:hover{border-color:var(--accent);color:var(--accent)}

/* ====================================================================
   Modale + carte
   ==================================================================== */
.apm-d-modal-bg{--bg:#17110D;--text:#F2E7D6;--muted:#A4917E;--line:#3C322A;--accent:#E2682B;
  font-family:'Hanken Grotesk',system-ui,sans-serif;
  position:fixed;inset:0;background:rgba(10,7,5,.62);display:flex;align-items:center;justify-content:center;
  padding:20px;z-index:99999;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.apm-d-modal-bg[data-theme="light"]{--bg:#FFFFFF;--text:#2A2017;--muted:#8A7C6D;--line:#E8DFD0;--accent:#C2542A}
.apm-d-modal-bg.open{opacity:1;visibility:visible}
.apm-d-modal-bg *{box-sizing:border-box}
.apm-d-modal{position:relative;background:var(--bg);color:var(--text);border:1px solid var(--line);
  border-radius:16px;max-width:520px;width:100%;max-height:90vh;overflow:auto;padding:26px 26px 24px;
  box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}
.apm-d-x{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--muted);font-size:1.7rem;line-height:1;cursor:pointer;padding:0 4px}
.apm-d-x:hover{color:var(--text)}
.apm-d-m-kick{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.apm-d-m-title{font-family:'Fraunces',serif;font-weight:500;font-size:1.7rem;line-height:1.05;margin:6px 40px 10px 0;color:var(--title,var(--text))}
.apm-d-m-when{font-size:.95rem;font-weight:600;margin-bottom:4px}
.apm-d-m-addr{color:var(--muted);font-size:.9rem}
.apm-d-m-desc{margin-top:12px;font-size:.92rem;line-height:1.55}
.apm-d-map{height:240px;border-radius:11px;border:1px solid var(--line);margin-top:16px;background:#e9e4db;overflow:hidden}
.apm-d-m-osm{display:inline-block;margin-top:12px;color:var(--accent);font-weight:600;font-size:.88rem;text-decoration:none}
.apm-d-m-osm:hover{text-decoration:underline}
.apm-d-map .leaflet-control-attribution{font-size:9px}
@media(prefers-reduced-motion:reduce){.apm-dates *,.apm-d-modal-bg{transition:none!important}}
