/* Calendrier des soins, à gauche de « Ma collection » (au-dessus sur téléphone). */
.with-cal{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}
.with-cal > .main{display:grid;gap:22px;min-width:0}
.cal{position:sticky;top:16px}
@media (max-width:860px){.with-cal{grid-template-columns:minmax(0,1fr)}.cal{position:static}
  .with-cal > .cal{order:2}} /* une seule colonne : la collection d'abord, le calendrier en dessous */

.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cal-head h3{margin:0;font-size:.85rem;color:var(--ink)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-wd{font-size:.7rem;color:var(--muted);padding:2px 0}
.cal-day{border:1px solid transparent;background:none;border-radius:8px;padding:4px 0;display:grid;justify-items:center;gap:3px;
  font-family:var(--mono);font-size:.82rem;min-height:40px;min-width:0}
.cal-day:hover{border-color:var(--line)}
.cal-day.out{opacity:.45}
.cal-day.today{border-color:var(--moss);font-weight:600}
.cal-day[aria-pressed="true"]{background:var(--sunken);border-color:var(--ink)}
.cdots{display:flex;gap:3px;height:7px}

/* pastilles : verte = arrosage, sable = engrais ; pleine = fait, anneau = prévu, orange = à faire */
.cdot{display:inline-block;width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;flex:0 0 auto;vertical-align:middle}
.cdot.water{color:var(--moss)}
.cdot.fert{color:var(--sand)}
.cdot.done{background:currentColor}
.cdot.due{color:var(--warn);background:currentColor}

.cal-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.74rem;color:var(--muted);align-items:center}
.cal-list{list-style:none;margin:0;padding:0;display:grid}
.cal-list li{display:flex;align-items:center;gap:6px;padding:7px 0;border-top:1px solid var(--line);font-size:.88rem;white-space:nowrap}
.cal-list .linklike{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis} /* nom trop long : coupé avec « … » */
.cal-list .btn.small{padding:2px 8px}
.cal-undo{border:1px solid var(--line);background:none;border-radius:6px;width:24px;height:24px;padding:0;color:var(--muted);flex:none;line-height:1}
.cal-undo:hover{color:var(--ink);border-color:var(--ink)}
/* visible seulement au survol de la ligne (ou au clavier) ; toujours visible sur écran tactile, où le survol n'existe pas */
@media (hover:hover){
  .cal-undo{opacity:0}
  .cal-list li:hover .cal-undo, .cal-undo:focus-visible{opacity:1}
}
.cal-list li:first-child{border-top:0}
.linklike{border:0;background:none;padding:0;font-weight:600;color:var(--ink);text-align:left}
.linklike:hover{text-decoration:underline}
