.jmo-cal,
.jmo-loop { width: 100%; }

.jmo-cal__nav{
  display:grid;
  grid-template-columns:40px 1fr 40px;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.jmo-cal__arrow{
	cursor:pointer;
line-height:1;
}
.jmo-cal__month{
  width:100%;padding:10px 12px;border-radius:12px;
  border:1px solid #d7e6df;background:#fff;font-weight:700;
}
.jmo-cal__weekdays{
  display:grid;grid-template-columns:repeat(7,1fr);gap:6px;
  margin:10px 0 8px;font-size:12px;opacity:.7;
}
.jmo-cal__weekday{ text-align:center; }
.jmo-cal__days{
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}


.jmo-cal__day{
  width: 100%;
  aspect-ratio: 1 / 1;      /* always square */
  max-width: 42px;          /* cap to your desktop size */
 
  border: 0;
  padding: 0;
  border-radius: 999px;     /* makes the square a circle */
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-weight: 700;
  min-height: 26px;
  min-width: 26px;
}
.jmo-cal__day{
  width: clamp(32px, 5vw, 34px);
  aspect-ratio: 1 / 1;

  border: 0;
  padding: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;

  display: grid;
  place-items: center;
  font-weight: 700;
}
span.jmo-loop__date {
    font-size: 0.8em;
    font-family: 'ogonex-heavy' !important;
}
.jmo-cal__day.is-out{ opacity:.25;cursor:default; }
.jmo-cal__day.is-disabled{ opacity:.2;cursor:not-allowed; }
.jmo-cal__day.is-available{ background:#7bbf8a;color:#fff; }
.jmo-cal__day.is-selected{ outline:3px solid rgba(123,191,138,.35);outline-offset:2px; }

.jmo-cal__actions{ margin-top:14px;display:grid;gap:12px; }
.jmo-cal__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 14px;border-radius:14px;text-decoration:none;
  font-weight:800;cursor:pointer;
}
.jmo-cal__btn--ghost{ background:#fff;border:2px solid #7bbf8a;color:#7bbf8a; }
.jmo-cal__btn--solid{ background:#7bbf8a;border:2px solid #7bbf8a;color:#fff; }
.jmo-cal__status{ min-height:18px;margin-top:10px;font-size:14px;opacity:.8; }

select#jmo-cal-month-events {
    text-align: center;
    border: 0px;
    background: white;
	 appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
	border: none;
    background: none;
	box-shadow: none;
	    font-family: 'ogonex-heavy' !important;
}

/* Cards */
.jmo-loop__grid{ display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.jmo-latest-events .jmo-loop__grid{ display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px; }
.jmo-loop__card{ background:#fff;border:2px solid #7bbf8a;border-radius:14px;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease; }
.jmo-loop__card:hover{ transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08); }
.jmo-loop__cardLink{ display:block;color:inherit;text-decoration:none; }
.jmo-loop__media{ width:100%;aspect-ratio:16/9;overflow:hidden; }
.jmo-loop__img{ width:100%;height:100%;object-fit:cover;display:block; }
.jmo-loop__img--placeholder{ width:100%;height:100%;background:#eef4f1; }
.jmo-loop__body{ padding:14px 14px 16px; }
.jmo-loop__title{ margin:0 0 10px;font-size:18px;font-weight:900;color:#4aa56a;line-height:1.1; }
.jmo-loop__meta{ display:inline-flex;align-items:center;gap:10px;font-weight:700;opacity:.9;margin-bottom:12px; }
.jmo-loop__more{ margin-top:6px;font-weight:800;color:#4aa56a; }
.jmo-loop__empty{ padding:16px;border:1px dashed #cbd5e1;border-radius:12px; }
.jmo-loop__meta {
    width: 100%;
    margin-top: 0px;
    margin-bottom: 0px;
}
.jmo-loop__title {
  line-height: 1.3;
  min-height: calc(1.3em * 2); /* reserves space for 2 lines */

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width:780px){ 
  .jmo-loop__grid{ grid-template-columns:1fr; }
  .jmo-latest-events .jmo-loop__grid{ grid-template-columns:1fr; }

}
