.ecp-list{display:grid;gap:16px}
.ecp-item{border:1px solid #e5e5e5;border-radius:10px;padding:14px}
.ecp-title{margin:0 0 8px}
.ecp-title,.entry-title{font-family:"Barlow Condensed",sans-serif}
.ecp-meta{font-size:14px;color:#444;display:flex;flex-wrap:wrap;gap:10px}
.ecp-thumb{width:100%;max-width:240px;border-radius:10px;overflow:hidden;margin:0 0 10px}
.ecp-excerpt{margin:10px 0 0}

.ecp-month-heading{margin:28px 0 12px;font-size:18px;font-weight:700;border-bottom:2px solid #e5e5e5;padding-bottom:6px}
.ecp-month-heading:first-child{margin-top:0}

.ecp-calendar{border:1px solid #e5e5e5;border-radius:12px;overflow:hidden}
.ecp-cal-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fafafa;border-bottom:1px solid #e5e5e5}
.ecp-cal-nav{text-decoration:none;font-weight:700}
.ecp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.ecp-cal-dow{padding:8px 10px;background:#fff;font-weight:600;border-bottom:1px solid #eee}
.ecp-cal-cell{min-height:86px;padding:8px 10px;border-bottom:1px solid #eee;border-right:1px solid #eee;position:relative}
.ecp-cal-cell:nth-child(7n){border-right:0}
.ecp-cal-day{font-size:13px;color:#666;margin-bottom:6px}
.ecp-bullets{display:flex;flex-wrap:wrap;gap:6px}

.ecp-bullet{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:999px;
  background:#111;color:#fff;font-size:12px;cursor:pointer;
  position:relative;border:0;padding:0;line-height:1;
}
.ecp-bullet:focus{outline:2px solid #000;outline-offset:2px}

.ecp-tooltip{
  display:none;position:absolute;z-index:10;left:0;top:22px;
  background:#111;color:#fff;padding:8px 10px;border-radius:10px;
  max-width:220px;font-size:12px;line-height:1.2;text-align:left;
}

.ecp-bullet:hover .ecp-tooltip{display:block}
.ecp-bullet.ecp-open .ecp-tooltip{display:block}